Entrada Crontab com intervalo de horas que passa da meia-noite

18

Esta especificação de tempo do crontab é válida, fazendo o que é esperado:

0 22-4 * * *

Ou é necessário fazer algo como

0 22,23,0,1,2,3,4 * * *
hyde
fonte

Respostas:

5

Nunca tentei usar um intervalo como esse e não tenho certeza se funcionaria. Portanto, meu primeiro conselho seria testá-lo e ver o que acontece - embora provavelmente com um script que faça apenas uma entrada de log ou algo mais inócuo.

Segundo, para ATT e BSD cron, você não pode ter intervalos e listas coexistentes; portanto, é necessário listar cada hora separadamente ou ter duas linhas, uma com o intervalo e outra com a lista.

Jenny D
fonte
Pergunta modificada para ser válida no ATT / BSD por sua resposta. Na verdade, estou escrevendo "my" crontab spec na configuração do trabalho de Jenkins (e testarei essa noite com trabalho simulado), mas estou pedindo aqui para saber qual é o comportamento esperado no sistema Unix / Linux.
Hyde
Na verdade, eu esperaria que não funcionasse e ficaria agradavelmente surpreendido se funcionasse. Mas também esperaria que o cron reclamasse se você inserir um intervalo inválido.
Jenny D
11

Tive problemas ao executar cronjobs à meia-noite. Acabei colocando duas entradas quase idênticas para os scripts envolvidos.

* 22-00 * * * /myscript
* 00-05 * * * /myscript

isso pareceu fazer o truque.
Eu estava enfrentando falhas no cron por causa do uso 22-05 e, por processo de eliminação, surgiu com esta solução.

user73420
fonte
Apenas uma observação, parece que não funciona */5, ou seja:*/5 00-05 * * * /myscript
dentex 27/10
8

Há uma grande variedade de daemons cron por aí, a menos que você diga qual deles está usando (o manuseio de listas nesses casos de canto pode muito bem mudar de uma versão para a próxima), não pode haver uma resposta. A melhor aposta é ir com sua lista explícita. Eu não ficaria muito surpreso se alguma implementação considerar seu envolvimento como uma maneira estranha de dizer 4-22...

A documentação local menciona esse tipo de caso? Talvez seja legal ter duas listas, por exemplo 22-24,1-4?

vonbrand
fonte
8
Posso confirmar que 22-23,0-4(note que o crontab não 24funciona) funciona perfeitamente, pelo menos nos centos em que o testei.
qwertyboy