26 lines
1.3 KiB
Bash
26 lines
1.3 KiB
Bash
#!/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 |