自我监督脚本

自我监督脚本

有人写过自监控脚本吗?可以分享一下解决方法吗?我的一台路由器上有 DD-WRT,只能制作一个启动脚本。问题是脚本无法运行。如果我通过 telnet 登录并手动启动它,它会运行得很好。所以我需要添加一个 cron 规则来运行它,但不能运行多次。我考虑使用:

if [`ps | grep [c]ustom.sh` -gt 1]; then
    exit;
else
    ...
fi

您知道还有其他方法可以做到这一点吗?

答案1

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

[ ! -f /tmp/rc.local.lock ]&&touch /tmp/rc.local.lock||exit

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

exec >/tmp/rc.local.log 2>&1

相关内容