У меня есть 6 скриптов, выполнение каждого из которых занимает около 20 минут. Я хочу запланировать запуск 3-х скриптов в 00, 20 и 40 в нечетные часы, а вторые 3 - в те же интервалы в четные часы. Как я могу сказать cron об этом?
это что-то вроде этого:
0 2,4,6,8,10,12,14,16,18,20,22,24 * * * root Script1
20 2,4,6,8,10,12,14,16,18,20,22,24 * * * root Script2
40 2,4,6,8,10,12,14,16,18,20,22,24 * * * root Script3
0 1,3,5,7,9,11,13,17,19,21,23 * * * root Script4
20 1,3,5,7,9,11,13,17,19,21,23 * * * root Script5
40 1,3,5,7,9,11,13,17,19,21,23 * * * root Script6
0 0-23/2 * * * Script1
20 0-23/2 * * * Script2
40 0-23/2 * * * Script3
0 1-23/2 * * * Script4
20 1-23/2 * * * Script5
40 1-23/2 * * * Script6
Или переключите 0 час и 1 час по желанию.
Помимо ответа Игнасио: если каждый ваш скрипт занимает «около 20 минут» и вы хотите избежать одновременного запуска двух из них, вы можете предпочесть написать минискрипт, который просто запускает шесть скриптов последовательно, и поместите этот скрипт в свой crontab, чтобы бегать каждые два часа. Это более просто, и если полная последовательность из 6 сценариев выполняется менее чем за два часа, все в порядке.