如何记录 crontab 活动

如何记录 crontab 活动

我让 crontab 每小时运行 3 次。这些脚本需要一段时间运行 - 有时超过 10 分钟。

0 * * * * /usr/bin/uptime >> /local/log.txt
0 * * * * /usr/bin/php5 /local/file_1.php
0 * * * * /usr/bin/php5 /local/file_2.php
0 * * * * /usr/bin/php5 /local/file_3.php

有没有办法将执行时间添加到log.txt中?

答案1

一种可能性是将以下内容附加到您的行中:

; echo "script XXX ended at: $(date)" >> /tmp/mylog

喜欢:

0 * * * * /usr/bin/php5 /local/file_1.php; echo "script file_1.php ended at: $(date)" >> /tmp/mylog
0 * * * * /usr/bin/php5 /local/file_2.php; echo "script file_2.php ended at: $(date)" >> /tmp/mylog
0 * * * * /usr/bin/php5 /local/file_3.php; echo "script file_3.php ended at: $(date)" >> /tmp/mylog

由于您知道脚本何时启动(每隔一整小时),因此您可以通过查看其完成日期轻松了解它运行了多长时间。

另一种方法是更改​​ php 脚本来测量执行时间并将其从脚本本身写入自定义日志文件。

如果您使用的是 Solaris,您可以查看记录/var/cron/log开始和结束时间的位置。

相关内容