Crie tarefas cron para repetir a cada X unidades de tempo começando em uma unidade arbitrária

Crie tarefas cron para repetir a cada X unidades de tempo começando em uma unidade arbitrária

Eu tenho um cron job no CentOS que desejo executar a cada 3 minutos, mas tenho muitos outros cronjobs que são executados a cada 3 minutos, começando em 0, 3, 6, 9...

Então, para evitar que meu servidor fique muito sobrecarregado, eu queria que alguns dos meus crons fossem executados a cada 3 minutos, mas começando em 1 minuto e assim por diante: 1, 4, 7...

Meus crons geralmente são assim:

*/3 * * * * 

Como posso fazer isso?

Responder1

1-59/3 é a forma mais típica e concisa de especificá-lo, significando "a cada 3 minutos a partir de 1".

Responder2

Além da resposta do heemayl, você pode listar os minutos desejados, embora seja menos compacto e provavelmente mais sujeito a erros do que a forma existente:

1,4,7,10,13,16,19,22,25,28,31,34,37,40,43,46,49,52,55,58 * * * * some_command

Responder3

Você pode usar sleep 60como o primeiro comando para que o comando que deseja executar seja executado após 1 minuto, mantendo o crontempo como */3:

*/3 * * * * sleep 60 && some_command

informação relacionada