【问题标题】:Job, scheduled with Cron, does not execute使用 Cron 计划的作业不执行
【发布时间】: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 时,会按预期工作并写入日志。

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

有什么建议吗?

【问题讨论】:

标签: shell cron solaris


【解决方案1】:

根据 crontab FAQ :cron 只设置了一个稀疏环境,因此您的环境变量无法在 cron 脚本中访问。您必须在 job.sh 脚本中设置环境变量。

【讨论】:

  • 环境设置。添加到脚本顶部的变量。现在工作正常。谢谢!
猜你喜欢
  • 2016-06-12
  • 1970-01-01
  • 2010-09-12
  • 2016-03-06
  • 1970-01-01
  • 1970-01-01
  • 2018-06-14
  • 2019-01-23
相关资源
最近更新 更多