Иногда при отключении интерфейса, в моем случае это OpenVPN, не происходит переподключение. Скрипт позволяет проверять пинг и перезапускать службу. Можно его использовать не только для перезапуска службы OpenVPN но и для других целей.
Создаем файл /etc/resovpn например с помощью редактора nano
1 | nano /etc/resovpn |
вставляем следующее содержимое
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #!/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 |
делаем файл исполняемым
1 | chmod +x resovpn |
добавляем запуск в крон, выполняем crontab -e и добавляем в конец запуск созданного скрипта, в примере каждые 5 минут
1 | */5 * * * * /etc/resovpn |
на этом настройка закончена
Проверяем пинг и при отсутствии перезапускаем службу OpenVPN