自看门狗脚本

Ala*_*dae 2 scripting linux bash watchdog

有没有人写过一个自我看门狗脚本并且可以分享它的解决方式?我在其中一台路由器上安装了 DD-WRT,并且只能制作一个启动脚本。问题是跑不起来。如果我通过 telnet 登录并手动启动它,效果很好。所以我需要添加一个 cron 规则来运行它,但不能多次运行。我正在考虑使用:

if [`ps | grep [c]ustom.sh` -gt 1]; then
    exit;
else
    ...
fi
Run Code Online (Sandbox Code Playgroud)

你知道有什么其他方法可以做到这一点吗?

Mir*_*ici 5

您可以使用保留在内存中的锁(通常 /tmp 是一个 tmpfs 挂载),该锁将在启动时删除:

[ ! -f /tmp/rc.local.lock ]&&touch /tmp/rc.local.lock||exit
Run Code Online (Sandbox Code Playgroud)

我认为问题在于与 ssh shell(例如 PATH...)相比,您的脚本中没有相同的可用环境。您应该将脚本的输出写入日志文件中。只需在脚本的开头添加这一行。

exec >/tmp/rc.local.log 2>&1
Run Code Online (Sandbox Code Playgroud)