工作#1

工作#1

我的 Crontab 作业中有以下两个条目,设置为于上午 10:00 开始。

工作#1

0,20 10 * * 1-5 ./运行_程序_A

任务 #2

0,20 10 * * 1-5 ./运行_程序_B

10:15,我检查了日志文件,发现只有程序 B 运行了。似乎程序 A 从未启动过。

如果我将程序 A 的启动时间设置为 10:30,它将被触发。我对 Crontab 不太熟悉,所以我希望您能解释一下。我是否必须确保所有作业都不是同时设置的?

先感谢您。

答案1

cron 肯定没有这样的限制。问题出在其他地方(例如,两个程序都使用了锁)。

答案2

以下几件事可能有助于追踪该问题:

  • 检查 /var/log 中的 cron 日志
  • 确保你从某个地方(可能是 cron 文件的所有者)的 cron 输出中获取邮件,因为那里可能有有趣的线索
  • 将“./run_program_A”替换为“echo ./run_program_A”,只是为了看看它是否会被启动
  • 放置“回显‘程序 A 运行’| mailx -s program_A[电子邮件保护]“在 run_program_A 中验证它是否正在运行

答案3

不,您不应该避免冲突,cron应该完美地应对同时开始或重叠的工作。

这两个脚本是否有可能写入同一个日志文件,以至于一个脚本覆盖了另一个脚本的输出?

答案4

20 10 * * 1-5 ./运行程序_A > 运行程序_A.log

检查 10:20 之后的日志文件

ls -ltr run_program_A.log

如果文件是在 10:20 生成的,则问题出在脚本 run_program_A 上,而不是 cron 上

获取 cron 帮助

http://scripterworld.blogspot.com/2009/07/unix-crontab-configuration-with.html

相关内容