如果网络出现故障则延迟重启

如果网络出现故障则延迟重启

我正在尝试进行监控检查,如果路由器失去网络连接,它会重新启动路由器。但我不希望它在启动后的前 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 加载时检查已经处于启动状态,但我不确定这是原因。

答案1

听起来你正在START DELAY寻找恶魔模式。这会延迟第一次检查。因此,如果您可以接受所有其他检查也延迟到这个时间,则可以使用它。

如果那不是一个选项,您可以编写一个桥接脚本,仅在正常运行时间足够大时才重新启动:

#!/bin/bash

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

exit 0

相关内容