
У меня есть задание cron на CentOS, которое я хочу выполнять каждые 3 минуты, но у меня есть много других заданий cron, которые запускаются каждые 3 минуты, начиная с 0, 3, 6, 9...
Поэтому, чтобы избежать перегрузки сервера, я хотел, чтобы некоторые из моих cron-задач запускались каждые 3 минуты, но начинались с 1 минуты и так далее: 1, 4, 7...
Мои кроны обычно выглядят так:
*/3 * * * *
Как я могу это сделать?
решение1
1-59/3 — более типичный и краткий способ обозначения, означающий «каждые 3 минуты, начиная с 1».
решение2
В дополнение к ответу heemayl вы можете перечислить нужные вам минуты, хотя это менее компактно и, вероятно, более подвержено ошибкам, чем существующий способ:
1,4,7,10,13,16,19,22,25,28,31,34,37,40,43,46,49,52,55,58 * * * * some_command
решение3
Вы можете использовать sleep 60
в качестве первой команды, чтобы команда, которую вы хотите запустить, фактически выполнилась через 1 минуту, при этом cron
время сохранялось следующим образом */3
:
*/3 * * * * sleep 60 && some_command