如何测试使用crontab部署的脚本

时间:2012-05-09 07:59:12

标签: linux shell cron

我有一个脚本,我需要每个月01.00 am每天运行一次。这就是我用cron tab做的事情来实现它

#housekeeping
0 1 1 * * sh /product/abc/tools/housekeeper.sh -t ABC

如何检查此script是否正在运行?我是否必须等到它运行或是否有运行该脚本的进程才能确认它正在运行?

2 个答案:

答案 0 :(得分:1)

测试crontab脚本的常用方法遵循以下准则:

  1. 将时间模式设置为“从现在开始十分钟”。等十分钟。检查cron的日志文件和脚本/应用程序的日志文件是否有错误。

  2. 设置所需的时间模式

  3. 这样,您可以确保脚本有效。如果出现问题,那一定是因为时间模式。

    您还应该将脚本的所有输出重定向到日志文件。 cron将发送一封邮件,其中包含脚本生成的任何输出但很少需要。

    如果您始终在日志中添加“$ {timestamp} Started”等条目,则可以随意查看脚本是否按预期工作。

    如果你想要两者,那么你必须让你的脚本/应用程序自己写日志文件(即crontab中没有输出重定向)并将任何错误打印到stdout;这将使cron发送电子邮件。

答案 1 :(得分:0)

我使用的简单方法是在所需命令之前和之后将某些内容附加到特定文件,例如

*/2 * * * * (echo "Starting" >> ~/monitorCron.log; <Actual operation>; echo "End" >> ~/monitorCron.log;) > ~/cron.log 2>&1

每2分钟运行一次,并将字符串附加到~/monitorCron.log

这与我在编程中所做的一样,在任何时候和任何时候写一个印刷语句我都会有疑问。