我需要将一个小命令放入我的 crontab 中,该命令用于检查 lighttpd web 服务器是否正在运行,由于某种原因,它有时会挂断。所以我做到了:
* * * * * root /bin/pgrep lighttpd || /usr/local/etc/rc.d/lighttpd restart >/dev/null 2>&1
问题是,它每分钟给我发一封邮件,邮件中是正在运行的 lighttpd 的 PID 号。对于其他 crontab 作业,重定向工作,所以我假设,当有“||”时,它会产生问题。
也许应该有更好的办法来重写 crontab 作业,以便它使用 pgrep 的退出状态,这样我就可以避免“||”。我正在使用 FreeBSD。
感谢您的帮助,现在我禁用了这项工作
答案1
将的输出重定向pgrep
到/dev/null
。您只需要退出状态。
/bin/pgrep lighttpd > /dev/null 2>&1 || /usr/local/etc/rc.d/lighttpd restart >/dev/null 2>&1