#!/bin/bash # Объявляем переменные status="$(cat /home/orangepi/miroca.ru/status/status.log)" # указывает IP хоста, количество пингов - 2 раза, и смотрим количество ошибок соединения result=$(ping -c 2 91.201.52.229 2<&1| grep -icE 'unknown|expired|unreachable|time out|100% packet loss') #Если система загружена более 10 мин #if test $(cut -d '.' -f1 /proc/uptime) -gt 600; then # systemctl restart gunicorn #fi if [[ "$result" == 0 ]]; then echo "connect" > "/home/orangepi/miroca.ru/status/status.log" else echo "disconnect" > "/home/orangepi/miroca.ru/status/status.log" fi # Связь пропала if [[ "$result" > 0 && "$status" == connect ]]; then echo -e "$(date "+%d.%m.%Y %H:%M:%S") Связь пропала" >> /home/orangepi/miroca.ru/status/hoststatus.log echo "disconnect" > "/home/orangepi/miroca.ru/status/status.log" systemctl restart gunicorn # Связь появилась elif [[ "$result" == 0 && "$status" == disconnect ]]; then echo -e "$(date "+%d.%m.%Y %H:%M:%S") Связь появилась" >> /home/orangepi/miroca.ru/status/hoststatus.log echo "connect" > "/home/orangepi/miroca.ru/status/status.log" systemctl restart gunicorn # В других случаях ничего не делаем fi