首页 > 解决方案 > Cron 表达式:完成另一个工作后开始工作

问题描述

我必须执行 2 项工作 - A 和 B。工作“A”将在每个工作日的上午 9:00 执行。我不知道工作“A”的持续时间,持续时间可能会有所不同。

此外,我想在完成工作“A”3 分钟后执行工作“B”。

任何人都可以为此建议 cron 表达式。

标签: cronexpression

解决方案


假设您在第一个作业完成三分钟后尝试运行第二个作业,假设您有涉及调用 /home/user/job_a.sh 的作业 A,然后一旦完成,您想运行 /home/user/job_b .sh。与其尝试设置两个不同的 Cron 作业,不如制作一个单独的脚本,比如 job_c.sh。job_c.sh 所做的只是运行 Job A,等待三分钟,然后运行 ​​Job B。

基本上,与其调用两个 Cron 作业并尝试为它们排序,不如建立一个运行这两个作业的 Cron 作业。

另一方面,如果您想在第一个作业开始三分钟后运行第二个作业,那么您不妨创建两个间隔三分钟的 Cron 作业,如下所示:

00 9 * * 1-5 /home/user/job_a.sh
03 9 * * 1-5 /home/user/job_b.sh

推荐阅读