【发布时间】:2011-01-22 23:57:37
【问题描述】:
我已按照this question中的建议进行操作
由于我使用的是 Django,我已将脚本设置为在数据库中存储每次运行脚本的日期和时间,但尚未在数据库中存储任何条目。
除了输入“top”并搜索之外,还有其他方法可以解决吗?
【问题讨论】:
-
您的工作是否编写日志文件?如果没有,为什么不呢?
标签: python linux django crontab
我已按照this question中的建议进行操作
由于我使用的是 Django,我已将脚本设置为在数据库中存储每次运行脚本的日期和时间,但尚未在数据库中存储任何条目。
除了输入“top”并搜索之外,还有其他方法可以解决吗?
【问题讨论】:
标签: python linux django crontab
首先,我可能会配置 cron 以使用 MAILTO 向自己发送任何输出:
在 /etc/crontab 中:
MAILTO=username
其次,我通常会在我的脚本中添加一些(几乎)不可能失败的内容,如下所示:
#!/bin/sh
echo "$0 ran on `date +%c`" >> /tmp/crontab_test.log
# ... rest of program
如果您直接从 cron 调用 python 脚本,您可以执行类似的操作或创建一个包装器 shell 脚本。
【讨论】:
newaliases,正如 alfredodeza 指出的那样。我从来没有尝试将它发送到本地用户帐户以外的任何东西,所以我不肯定你可以。文档说它是“发送给如此命名的用户”。
如果你安装了sendmail,你可以在'/etc/aliases'中添加以下内容
root: your_name@domain.com
完成此操作后,更新运行此命令的别名:
sudo newaliases
每次运行作业时,Cron 都会自动向您发送电子邮件。无需在 crontab 文件中指定。
另外,请确保您测试您的电子邮件功能(例如,确保您能够从服务器发送电子邮件),最后,创建一个简单的 cronjob 并测试您是否收到电子邮件。
不要假设!
【讨论】:
除了设置 cron 以发送电子邮件外,您还可以通过将以下内容添加到您的 /etc/syslog.conf 来将 cron 的输出发送到单独的 syslog 日志工具。
这应该在每次运行作业时将一条消息记录到 /var/log/cron.log。
【讨论】: