在Bacula configs中有一个Run After
参数。 但是如果我需要等几个工作完成然后运行我的脚本呢?
使所有的工作,但一个具有相同的优先级 ,相同的开始时间,并设置为1,并禁止混合优先级 。 然后,对于上一份工作,设置较低的优先级,并安排它,以便比其他工作晚一分钟(或几分钟)。 把Run After
只在最后的工作。
例如,假设您有job1,job2,job3,job4和job5。 job1-4将有priority=10
,job5将有priority=20
和Run After
。 会发生什么情况,bacula会同时排列job1-4,但是一个一个地运行(由于Maximum Concurrent Jobs = 1
)。 只有当它们全部完成时,才能运行作业(由于Allow Mixed Priority=no
,它将在启动之前等待所有更高优先级的作业完成),并且只有当作业5完成时,才会运行Run After Job
脚本)。 所以脚本只有在job1-5完成后才能运行。
你甚至可以保持并发性高于1,如果你想并行运行多个作业 – 它仍然可以工作。
把所有的相关工作放到一个脚本中,然后使用Run After。