我让 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
开始和结束时间的位置。