История изменений
Исправление hanharr, (текущая версия) :
Меня смущала логика изначального скрипта. Переписал так, что изначально счетчик на ноль и предыдущая строка пустая. Затем мы сравниваем текущую строку и предыдущую и если они совпадают на протяжении 9 секунд, то на последней проверяем соединение. А если текущая строка и прошла отличаются, то сбрасываем счетчик. Изначально, было по моему не верно.
#!/usr/bin/env bash
i=0
old_line=""
tail -f -n 1 /var/log/fetchmail.log | while read line
do
if [[ "$line" == "$old_line" ]]
then
_=$(( i++ ))
if [ $i -eq 9 ]
then
nc -z -v imap.yandex.ru 993 » /tmp/test_connection
fi
sleep 1
else
i=0
fi
old_line="$line"
done
Исходная версия hanharr, :
Меня смущала логика изначального скрипта. Переписал так, что изначально счетчик на ноль и предыдущая строка пустая. Затем мы сравниваем текущую строку и предыдущую и если они совпадают на протяжении 9 секунд, то на последней проверяем соединение. Изначально, было по моему не верно.
#!/usr/bin/env bash
i=0
old_line=""
tail -f -n 1 /var/log/fetchmail.log | while read line
do
if [[ "$line" == "$old_line" ]]
then
_=$(( i++ ))
if [ $i -eq 9 ]
then
nc -z -v imap.yandex.ru 993 » /tmp/test_connection
fi
sleep 1
else
i=0
fi
old_line="$line"
done