Установка обновления Windows после патча вторника - PullRequest
0 голосов
/ 14 декабря 2018

В субботу после каждого патча вторника (который является вторым вторником месяца) я хочу установить обновления через Puppet.Я сделал для этого запланированное задание, которое само управлялось с помощью ресурса scheduled_task из модуля puppetlabs / schedule_task.Я использую этот триггер для этой задачи:

    $trigger = {
      schedule         => monthly,
      start_time       => '13:15',
      which_occurrence => second,
      day_of_week      => [sat],
      minutes_interval => '80',
      minutes_duration => '560',
    }

.Однако в такие месяцы, когда второй вторник наступает ПОСЛЕ второй субботы, этот триггер запускает задачу не в тот день.Как я могу запустить задание в первую субботу, следующую за вторым вторником каждого месяца?

Возможно, можно посчитать дни после исправления вторника, но для этого потребуется, чтобы Puppet смог получить датукаждый второй вторник месяца (что не может AFAIK).

1 Ответ

0 голосов
/ 17 декабря 2018

Модуль puppetlabs / task_scheduler управляет задачами, которые должны запускаться через встроенную службу планировщика задач Windows.Кукольный сам не запускает задачи;он просто регистрирует их в системном сервисе и управляет их свойствами.Это проблема для вас, потому что, насколько я могу судить, планировщик задач Windows не поддерживает тип планирования, который вы ищете.Конечно, puppetlabs / schedule_task не может предоставить что-то, что не поддерживается базовой ОС.

Ваши альтернативы включают, но не обязательно ограничиваются:

  • Выберите другойграфик для вашей задачи.Например, запланируйте задачу на третью субботу месяца, которая всегда будет следовать за вторым вторником.

  • Используйте Exec для выполнения обновления с комбинацией условной логикии график Puppet для контроля даты и частоты подачи заявок.

Это правда, что последний требует, чтобы Puppet выполнил некоторые вычисления даты.Puppet может сделать это, но вам, вероятно, потребуется написать специальную функцию (на Ruby) для этой цели.Пользовательские функции доступны при создании каталога и могут использовать практически все возможности Ruby.

...