Crontab - кажется, что день месяца важнее дня недели?

У меня есть пять серверов, на которых работает кластер хранилища событий. Я хочу запустить команду crontab для каждого в отдельные дни.

  1. Выполнить в понедельник
  2. Выполнить во вторник и т.д.

Но я также хочу запускать другую команду на четвертой неделе каждого месяца.

Я настроил их так, думая, что это должно работать, и проверка crontab.guru подтвердила, что, как я думал, должно произойти;

Машины 1-5:

  1. 30 6 1-21 * Пн /выполнение первой команды
  2. 30 6 1-21 * Вт /выполнение первой команды
  3. 30 6 1 -21 * Ср /выполнение первой команды
  4. 30 6 1-21 * Чт /выполнение первой команды
  5. 30 6 1-21 * Пт /выполнение первой команды

Затем аналогичная команда для каждой команды недели 4:

  1. 30 6 22-29 * Mon /week4-command-to-run (повторите DOW, как указано выше)

Итак, на сегодня, в пятницу 19-го, я хотел, чтобы только машина № 5 запускала команду /first-command-to-run в 06:30, а остальные четыре ничего не делали.

Я был почти уверен, что это сработает, как и ожидалось, но, похоже, все пятьмашин запустили /first-command-to-run этим утром, а не только пятничную машину.

Ни один из них не запускал команду /week4-to-run, поэтому день месяца, выходящий за пределы диапазона 22-29, правильно предотвращает это.

Теперь мне интересно, если указание диапазона дней месяца приводит к тому, что cron игнорирует день недели. Может ли это быть так? Если нет, то что я делаю неправильно?

Os is Rocky 8.4

(Примечание: я осознаю и согласен с тем фактом, что точный день месяца может не соответствовать строгим неделям.)

0
задан 19 November 2021 в 07:47
1 ответ

согласно man 5 crontabна Ubuntu.

Примечание:День выполнения команды можно указать двумя поля — день месяца и день недели. Если оба поля ограничены (т. е. не начинайте с *), команда будет запущена, когда любое поле соответствует текущему времени.

Пожалуйста, проверьте локальную справочную страницу crontab.

0
ответ дан 19 November 2021 в 09:54

Теги

Похожие вопросы