Назад | Перейти на главную страницу

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

Я пытаюсь выполнить контрольную проверку, которая перезагружает мой маршрутизатор, если он теряет сетевое соединение. Но я не хочу, чтобы он перезагружался в течение первых 5 минут после загрузки, независимо от того, работает ли сеть или нет. Пока у меня есть это:

CHECK HOST ping-or-nuke ADDRESS 8.8.8.8
  start program = "/bin/sleep 300" with timeout 305 seconds
  if failed ping4 for 4 cycles then exec "/sbin/reboot"
  onreboot start

Но кажется, что перезагрузка происходит очень быстро после загрузки, если сети нет, она "игнорирует" мою попытку добавить 5-минутную задержку.

Я думаю, что проверка уже находится в состоянии запуска при загрузке monit, но я не уверен, что это причина.

Похоже, вы ищете START DELAY в Режим Демона. Это задерживает первые проверки. Так что, если вы можете принять все другие проверки, которые также откладываются к этому времени, это можно использовать.

Если это не вариант, вы можете написать сценарий моста для перезагрузки, только если время безотказной работы достаточно велико:

#!/bin/bash

if [[ $(awk -F'.' '{ print $1 }' /proc/uptime) -gt 300 ]]; then
  /sbin/reboot
  exit $?
fi

exit 0