если предложеный мною алгоритм устраивает, то вот скрипт
#!/bin/bash
var=`/bin/cat /tmp/file_flag `
if [ "$var" == "1" ]; then
/bin/cat /dev/null > /tmp/file_flag
echo "server now shutdown"
else
ping -c 2 ya.ru
if [ $? -ne 0 ]; then
echo "connection lost at $(date)" >> /tmp/tmp.log
echo 1 > /tmp/file_flag
else
/bin/cat /dev/null > /tmp/file_flag
fi
fi
Тестировал я так:
запускаем скрипт, видим что он прекрасно пингует ya.ru, вбиваем в hosts заведомо недостижимый для нас ip для ya.ru, снова запускаем скрипт, он пишет что сервер сейчас вурубит, коментим в hosts строку про ya.ru, снова запускаем скрипт и он просто продолжает пинговать ya.ru.
Под себя уже допинаете сами думаю.