Проверяем пинг и при отсутствии перезапускаем службу OpenVPN

Иногда при отключении интерфейса, в моем случае это OpenVPN, не происходит переподключение. Скрипт позволяет проверять пинг и перезапускать службу. Можно его использовать не только для перезапуска службы OpenVPN но и для других целей.

Создаем файл /etc/resovpn например с помощью редактора nano

nano /etc/resovpn

вставляем следующее содержимое

#!/bin/bash
# часы
date_time="`date +%H:%M:%S`"
# дата
date="`date +%d-%m-%Y`"
#Тестируемый адрес
testip="172.16.0.1"
kol=$(/bin/ping -c 4 $testip | grep "received" | awk '{print $4}')
if [ $kol == 0 ]
then
sleep 10
kol=$(/bin/ping -c 4 $testip | grep "received" | awk '{print $4}')
if [ $kol == 0 ]
then
# перезапускаем службу, если Вам надо другую то изменить следующую строку
sudo service openvpn restart
# пишем в лог перезапуски, если не надо, то комментируем строку
sudo echo $date $date_time Нет пинга. Начат перезапуск. /var/log/restartinet.log
exit 0
fi
fi

делаем файл исполняемым

 

chmod +x resovpn

 

добавляем запуск в крон, выполняем crontab -e и добавляем в конец запуск созданного скрипта, в примере каждые 5 минут

 

*/5 * * * * /etc/resovpn

 

на этом настройка закончена

Проверяем пинг и при отсутствии перезапускаем службу OpenVPN

Навигация по записям