Простой скрипт проверки сети у сервера.
Если доступа нет к google, то он делает паузу на 60 секунд и снова проверяет доступность сайта.
Если и во второй раз нет доступа к google, то перезагружает сервер.
Простой костыль мониторинга сети сервера.
#!/bin/sh CUR=$(curl -LI --connect-timeout 15 https://www.google.com -o /dev/null -w '%{http_code}\n' -s) if [ "${CUR}" -ne 200 ]; then sleep 60 if ! curl -LI --connect-timeout 15 https://www.google.com -o /dev/null; then reboot fi fi exit 0
Еще один скрипт, используем ping.
В файл /tmp/down_servs.txt будет помещаться информация, что сервер не рабочий с временем когда.
-c 2 Две проверки
-W 2 Две секунды ожидания ответа.
#!/bin/sh IP="14.9.3.2 4.9.7.2 21.43.11.2 11.1.53.3" for f in $IP; do count=$(ping -c 2 -W 2 $f | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }') if [ $count -eq 0 ]; then echo "$f down $(date +"%d-%m-%Y-%T")" >> /tmp/down_servs.txt fi done exit 0
Добавим в cron запуск проверки каждую минуту.
# crontab -l * * * * * sh /root/updown_serv.sh
Вот и весь скрипт проверки сети у сервера.