как запустить работу cron каждые 3 месяца?

Ответы:

69

Следующее будет запускать сценарий 1 января, апреля, июля и октября в 03:30

30 03 01 Jan,Apr,Jul,Oct * /path/to/script

Альтернативно, но менее очевидно

30 03 01 */3 * /path/to/script

Будет работать каждые три месяца в 03:30 1 января, апреля, июля и октября.

Ричард Холлоуэй
источник
5
+1: я всегда думал, что / нотация была НАИБОЛЕЕ очевидна ... Я использую ее везде, где это возможно. (Слова в расписании crontab выводят меня из себя ... Я бы сделал: «0 0 1 3,6,9,12 * /path/to/script.bash», если не смогу сделать / 3)
Satanicpuppy
11
не */3будет каждые четыре месяца (12/3 = 4)?
Уоррен
8
@ warren Нет, не будет. Логика здесь больше похожа на модную правду. Пример: if (12% 3 == 0): run_script (). Я тоже думал об этом! Отличный вопрос
Goahnary
1
@ Goahnary Я понял, что через некоторое время я тоже попросил разъяснений :)
Уоррен
3
@ Warren это действительно должен быть оператор мод, а не подразделение. Ну да ладно ¯_ (ツ) _ / ¯
Гоанари
7

В Википедии есть хорошее объяснение о том, как настроить Cron.

В вашем конкретном случае вы можете запускать Cron Expression каждые 3 месяца - очевидно, измените месяцы в соответствии с вашим графиком.

0 0 1 JAN,APR,JUL,OCT  * /path/to/script.bash
Джон Роудс
источник