Назад | Перейти на главную страницу

Альтернативный еженедельный график Bacula?

Как запланировать запуск Job1-Job5, как показано ниже?

Sun   Mon   Tue   Wed   Thu
---------------------------
Job1  Job2

Sun   Mon   Tue   Wed   Thu
---------------------------
            Job3  Job4  Job5

Sun   Mon   Tue   Wed   Thu
---------------------------
Job1  Job2

Sun   Mon   Tue   Wed   Thu
---------------------------
            Job3  Job4  Job5
..........

Такое расписание не может быть выражено в синтаксисе ресурсов Bacula Schedule.

Вы можете приблизить это, составив график

  • Иов 1 1-го и 3-го воскресений
  • Job2 1 пн и 3 пн
  • Job3 во 2-й вторник и 4-й вторник
  • Job4 2-я среда и 4-я среда
  • Job5 во 2-й чт и 4-й чт

Это приведет к тому, что желаемое расписание будет применено к 1-28 дням каждого месяца, пропуская оставшиеся дни (29-31, в худшем случае), ничего не выполняя.

Если этого недостаточно, вы можете использовать изменение расписания с помощью «Выполнить перед заданием», используя тот факт, что если выполнение перед заданием возвращает ошибку, то само задание не запускается. Чтобы реализовать это:

  • планировать работу в соответствующие рабочие дни без ограничения недели
  • создать два сценария оболочки «четная неделя» и «нечетная неделя», которые возвращают успех и неудачу соответственно в течение одной недели, наоборот в течение следующей недели и т. д.
  • добавить директиву «Выполнить перед заданием = нечетная неделя» в Задания 1 и Задание 2 и директиву «Выполнить перед заданием = четная неделя» в Задания 3, Задание 4 и Задание 5

Таким образом, например, Job1 будет планироваться каждое воскресенье, но фактически будет выполняться только в том случае, если нечетная неделя вернет успех, т.е. только на 1, 3, 5 неделе и так далее.

Написание реальных сценариев предоставляется читателю в качестве упражнения. :-)