Это может быть легко достигнуто с помощью cron с некоторыми конкретными параметрами для проверки связи.
Создайте файл с именем, например, /etc/cron.d/ping-my-repeater. Для содержимого выберите один из следующих.
Если раз в минуту достаточно, попробуйте это:
* * * * * root ping -n -c 1 -W 1 $REPEATER_IP_ADDRESS
Если желательно два раза в минуту, попробуйте это:
* * * * * root ping -n -c 2 -i 30 -W 1 $REPEATER_IP_ADDRESS
Если каждые 15 секунд желательно, попробуйте это:
* * * * * root ping -n -c 4 -i 15 -W 1 $REPEATER_IP_ADDRESS
-c
указывает количество, -i
указывает интервал между эхо-запросами в секундах, а -W
указывает время ожидания каждого ответа в секундах. -n
говорит только о числовом выводе и, в частности, подавляет разрешение обратного имени удаленного IP-адреса. * * * * *
означает выполнение команды один раз в минуту, и пользователь root
должен выполнить команду как.
Пожалуйста, не указывайте что-то подобное на IP-адресе, не находящемся под вашим физическим контролем, без согласия владельца удаленного хоста.
Как только вы убедитесь, что это работает, вы можете отключить вывод электронной почты, добавив строку, такую как
MAILTO=""
в верхней части файла.
Это работает так, что ping отправляет один эхо-запрос ICMP и ждет ответа -W
секунд, а затем, если нужно отправить больше эхо-запросов, ждет -i
секунд перед отправкой другого. Таким образом, первый отправляется немедленно, второй (например) через 15 секунд после того, как ответ на первый был либо получен, либо истек тайм-аут, третий - еще через 15 секунд, а четвертый - еще через 15 секунд, для общего времени работы настенных часов: примерно 45 секунд. В верхней части следующей минуты снова запускается пинг, и процесс повторяется.
Вы также можете запустить ping, например, через /etc/rc.local (может иметь другое имя в вашей системе), пропустить опцию -c N
и позволить ping работать бесконечно; однако иногда это может плохо сказаться на последовательности загрузки, и если что-то вызывает прерывание ping, если вы не предпримете конкретные шаги, чтобы проверить, что он не будет перезапущен автоматически.