Сегодня набросал небольшой скриптик для выполнения определенных действий при недоступности хоста.
Скрипт пингует сервер определенный в переменную SRV тремя пакетами, если не доступен, следом пингует еще тремя пакетами, если опять не доступен делает вывод что сервер недоступен и пишет в консоли DOWN и создает файл флаг /tmp/DOWN, если конечно он не существует, при появлении пинга на хост, удаляет этот файл и пишет в консоль UP. Вместо сообщений об апе и дауне можно добавить все что угодно, на ваш вкус, на что хватит фантазии.
Собственно скрипт:
#!/bin/sh
SRV=**.**.**.** #IP сервера
/sbin/ping -q -c 3 $SRV > /dev/null 2>&1
if [ $? != 0 ]; then
/sbin/ping -q -c 3 $SRV > /dev/null 2>&1
if [ $? != 0 ]; then
if [ ! -f /tmp/DOWN ]; then
echo "DOWN";
touch /tmp/DOWN;
fi
fi
else
if [ -f /tmp/DOWN ]; then
rm /tmp/DOWN;
echo "UP";
fi
fi