我如何知道工作是否已经完成? - crontab的
我已按照this question我如何知道工作是否已经完成? - crontab的
的建议,因为我使用Django,我已经设置了脚本存储日期和数据库脚本的每次运行的时间,但没有进入是否已经被存储在数据库。
有没有办法弄清楚,不是键入“顶”和搜索通过其他?
首先,我可能会配置cron的使用MAILTO
邮寄自己的任何输出:
在/ etc/crontab中:
MAILTO=username
其次,我通常添加的东西给我的脚本(几乎)不可能失败,如下所示:
#!/bin/sh
echo "$0 ran on `date +%c`" >> /tmp/crontab_test.log
# ... rest of program
如果您是直接从cron调用一个python脚本,你可以做类似的东西,或者创建一个包装SH ell脚本。
@Kaleb非常感谢你!我编辑了/ etc/crontab,并添加了MAILTO = [email protected]。没有电子邮件,我认为剧本中途失败。 – RadiantHex 2010-03-03 00:59:02
确保你运行'newaliases'作为alfredodeza指出。我从来没有试过将它发送给本地用户帐户,所以我不积极。文档称它是“发送给用户名称”。 – 2010-03-03 04:22:38
此外,还要确保它没有被拾起的垃圾邮件过滤器 – cobbal 2010-03-03 05:39:05
如果你已经安装的sendmail,你可以添加以下到/ etc/aliases中“
之后你这样做,更新别名运行此命令:
sudo newaliases
Cron会在每次作业运行时自动发送电子邮件给您。不需要在crontab文件中指定。
此外,请确保您的测试您的电子邮件功能(例如,确保您能够从服务器发送电子邮件),最后创建一个简单的cronjob并测试您是否收到电子邮件。
不要想当然!
除了设置cron发送电子邮件,您还可以通过将以下内容添加到/etc/syslog.conf
中,将cron的输出发送到单独的syslog日志工具。
# Log cron stuff cron.* /var/log/cron.log
每次作业运行时,都应该将消息记录到/var/log/cron.log。
我没有syslog.conf!我正在使用Ubuntu 9 ...我会看看我能否找到感谢btw的东西! – RadiantHex 2010-03-05 02:47:10
如果您正在使用的Ubuntu 9.10(Karmic中考拉),在后面的Sysklogd软件包已被替换rsyslog现在。根据发行说明,/etc/syslog.conf中的配置将自动转换为/etc/rsyslog.d/50-default。 HTTP://www.ubuntu。com/getubuntu/releasenotes/910 – jschmier 2010-03-05 04:32:06
你的工作写入日志文件?如果不是为什么不呢? – 2010-03-03 11:37:30