====== Перазагрузка pfSense если не доступен Internet ======
Скрипт проверки доступности сервера DNS Yandex\\
Скорее всего скрипт после незначительной адаптации применим на любой Linux системе
=== 1. Простой ===
В консоле pfSense
tee > inet_check.sh
chmod +x inet_check.sh
Редактировать
#!/bin/sh
ping -n -q -c 4 -t 3 78.88.8.8
Редактировать cron
crontab -e
Добавить в cron pfSense
*/10 * * * * /usr/local/bin/inet_check.sh
=== 2. С логами ===
#!/bin/sh
# ПУТЬ ДО ЛОГ-ФАЙЛА
LOG="/var/log/inet_check.log"
# ОПРЕДЕЛЯЕМ СЕРВЕР ДЛЯ ПРОВЕРКИ ДОСТУПНОСТИ ИНТЕРНЕТА
SERVER="77.88.8.8"
# ОПРЕДЕЛЯЕМ ПУТЬ ДО ИСПОЛНЯЕМОГО ФАЙЛА ПРОГРАММЫ PING
PING="/sbin/ping"
# ОПРЕДЕЛЯЕМ ПУТЬ ДО ИСПОЛНЯЕМОГО ФАЙЛА ПРОГРАММЫ REBOOT
REBOOT="/sbin/reboot"
# ПРОВЕРКА ИНТЕРНЕТА
restart() {
${PING} -q -c1 -t1 -s0 ${SERVER} >/dev/null 2>/dev/null
if [ $? -eq 0 ]; then
echo "$(date +%d-%m-%y\ %H:%M:%S) ТЕСТ PING ${SERVER} УСПЕШНО ВЫПОЛНЕН!" >> ${LOG}
exit 0
else
echo "$(date +%d-%m-%y\ %H:%M:%S) ОШИБКА!! ТЕСТ НЕУДАЧЕН!! --> REBOOT СЕРВЕРА" >> ${LOG}
${REBOOT}
fi
return 0
}
# СТАРТ - ОБЩЕЕ НАЧАЛО РАБОТЫ СКРИПТА
echo "=============================================================" >> ${LOG}
echo "$(date +%d-%m-%y\ %H:%M:%S) СТАРТ ПРОВЕРКИ ДОСТУПНОСТИ ИНТЕРНЕТА" >> ${LOG}
restart
exit 0
[[https://www.opennet.ru/openforum/vsluhforumID1/92470.html|Истоник]]