2011-12-21 113 views
0

我计划执行job.sh脚本,它包含以下命令:工作,计划通过计划,不执行

date +"%D %r `echo Kitchen - job started`" >> /tmp/cron_job_1.log 
sh /installations/data-integration/kitchen.sh -file /installations/etl/sync_job.kjb >> /tmp/cron_job_1.log 
date +"%D %r `echo Kitchen - job completed`" >> /tmp/cron_job_1.log 

crontab的记录是:

0,3,4,5,6,8,10,11 * * * * sh /installations/etl_scripts/job.sh 

“工作启动'和'已完成'时间戳记总是成功写入cron_job_1.log,这是计划作业按时运行的一个证明。但似乎Pentaho转换(../kitchen.sh)命令不运行,因为转换不会继续进行,也不会写入日志文件。 “作业开始”和“作业结束”之间的时间为1或2秒,但转换作业应该至少运行10秒。

当我运行命令sh /installations/data-integration/kitchen.sh -file /installations/etl/sync_job.kjb >> /tmp/cron_job_1.log独立于控制台转换作业按预期工作,并写入日志。

涉及文件的所有路径和权限似乎是正确的。

有什么建议吗?

+0

我有一个关于如何调试cron的时候,它展示了越野行为的大帖子:http://serverfault.com/questions/425397/cron-stopped-working-partially-working/449639#449639 – 2012-11-17 03:22:22

回答

2

根据crontab FAQ:cron只设置了一个稀疏环境,所以你的环境变量在cron脚本中是不可访问的。您必须在job.sh脚本中设置环境变量。

+0

设置环境。添加到脚本顶部的变量。现在工作正常。谢谢! – adrift 2011-12-22 12:57:36