为什么这个 cron 不起作用?

为什么这个 cron 不起作用?

我执行“crontab -e”并添加以下行:

0   9    *   *   *      /usr/bin/python /home/g1/g1/utils/statsEmail.py > /home/g1/log/statsemail.log

但它不起作用!为什么?脚本本身可以工作。而且,日志是空的。

我在 crontab 中的另一个命令是这个,它有效:

0   9    *   *   *      /usr/bin/python /home/g1/g1/sphinx/updateall.py > /home/g1/log/updateall.log

答案1

您可以将 MAILTO=youremail 添加到 crontab 以获取故障的详细信息并修复它。

编辑:可能你的 cron 无法运行你的脚本,因为它没有被允许这样做

答案2

您正在将 STDOUT 写入日志文件,但您还应该将 STDERR 传输到同一日志文件。现在,您可能看不到此脚本生成的任何错误消息。

您的脚本可能由于一些简单的原因而失败,例如执行 cronjob 的用户没有执行脚本的权限。另外,请记住,cron 在非常简单的环境中执行命令,可能与您的常规交互式 shell 环境非常不同。

将您的脚本更改为:

0   9    *   *   *      /usr/bin/python /home/g1/g1/sphinx/updateall.py > /home/g1/log/updateall.log 2>&1

updateall.log 现在显示什么?

此外,cron 通常会将一些信息记录到日志文件中。/var/log/cron.log 中记录了有关您的 cronjob 的哪些信息?

相关内容