Bacula:2个工作完成后如何运行脚本?

在Bacula configs中有一个Run After参数。 但是如果我需要等几个工作完成然后运行我的脚本呢?

使所有的工作,但一个具有相同的优先级 ,相同的开始时间,并设置为1,并禁止混合优先级 。 然后,对于上一份工作,设置较低的优先级,并安排它,以便比其他工作晚一分钟(或几分钟)。 把Run After只在最后的工作。

例如,假设您有job1,job2,job3,job4和job5。 job1-4将有priority=10 ,job5将有priority=20Run After 。 会发生什么情况,bacula会同时排列job1-4,但是一个一个地运行(由于Maximum Concurrent Jobs = 1 )。 只有当它们全部完成时,才能运行作业(由于Allow Mixed Priority=no ,它将在启动之前等待所有更高优先级的作业完成),并且只有当作业5完成时,才会运行Run After Job脚本)。 所以脚本只有在job1-5完成后才能运行。

你甚至可以保持并发性高于1,如果你想并行运行多个作业 – 它仍然可以工作。

把所有的相关工作放到一个脚本中,然后使用Run After。