在 Debian 9 上,我刚接触 cron,有一个ipupdate
名为/etc/cron.hourly/ipupdate
-rwxr-xr-x 1 root root 132 Jul 11 18:21 ipupdate
该文件有一个curl
这样的命令:
curl "https://..."
如果我手动运行脚本,它运行得很好
在我的日志中我看到:
Jul 17 14:17:02 dpi CRON[12248]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
脚本没有被执行(我的 IP 没有更新),为什么?我该如何排除故障?
答案1
可能的原因有多种。
一个常见问题是环境不符合脚本的预期。具体来说,某些程序可能不在 $PATH 中,尽管 curl 可能是您的发行版的一部分,因此位于标准 PATH 中。
您应该在文件顶部添加一行#!/bin/sh。
在脚本中,您可以添加以下行
执行 >> /tmp/log 2>&1
然后,如果文件未创建,则不会执行脚本。如果文件已创建,请检查为什么它不起作用。