使用 Cron 安排的作业未执行

发布于 2024-12-22 10:55:05 字数 805 浏览 2 评论 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 独立于控制台转换作业按预期工作并写入日志。

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

有什么建议吗?

I've scheduled to execute job.sh script, which contains the following commands:

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 record is:

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

'Job started' and 'job completed' timestamps are always successfully written to cron_job_1.log, it's a proof that scheduled job runs on time. But it seems that Pentaho transformation (../kitchen.sh) command does not run, because transformation does not proceeding and nothing is written to log file. Time between 'job started' and 'job ended' is 1 or 2 seconds, but transformation job should run at least 10 seconds.

When i run command sh /installations/data-integration/kitchen.sh -file /installations/etl/sync_job.kjb >> /tmp/cron_job_1.log independently from console transformation job works as expected and writes to log.

All paths and permissions of involved files seems to be correct.

Any suggestions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

望她远 2024-12-29 10:55:05

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

According to crontab FAQ : cron sets up only a sparse environment, so your environment variables are not accessible in cron script. You have to set up environment variables in your job.sh script.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文