我执行“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 的哪些信息?