2012-05-09 31 views
0

我有一个脚本,我需要每天在每月的01.00 am上运行。这是我做的:用cron标签,使之发生如何测试使用crontab部署的脚本

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

如何检查这个script是否正在运行?我是否必须等到它运行或者是否存在运行此脚本的进程,以便我可以确认它正在运行?

回答

1

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

  1. 设置时间模式“未来10分”。等待十分钟。检查cron的日志文件和脚本/应用程序的日志文件是否有错误。

  2. 设置所需的时间模式

这样,您就可以确保该脚本工作。如果某件事情破裂了,那肯定是因为时间模式。

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

如果您总是在日志中添加“$ {timestamp} Started”这样的条目,您可以在闲暇时检查脚本是否按预期工作。

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

0

我用简单的事情是之前和所需的命令后追加一些特定文件,就像

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

此运行,每2分钟,并添加字符串~/monitorCron.log

这是我在编程时做的同样的事情,编写一个打印语句,在哪里以及什么时候我都有疑问。