【发布时间】:2011-12-21 13:57:00
【问题描述】:
我已安排执行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 时,会按预期工作并写入日志。
所涉及文件的所有路径和权限似乎都是正确的。
有什么建议吗?
【问题讨论】:
-
我有一篇关于如何在 cron 出现错误行为时对其进行调试的重要帖子:serverfault.com/questions/425397/…