+1: sempre achei que a notação / era a MAIS óbvia ... uso-a sempre que possível. (Palavras na parte de agendamento do crontab me assustam ... eu faria: "0 0 1 3,6,9,12 * /path/to/script.bash" se eu não pudesse fazer / 3)
Satanicpuppy
11
não */3seria a cada quatro meses (12/3 = 4)?
warren
8
@warren Não, não. A lógica aqui é mais uma declaração de verdade mod. Ex: if (12% 3 == 0): run_script (). Eu pensei sobre isso também! Ótima pergunta.
Goahnary
1
@Goahnary percebi que um tempo depois eu pedi para o esclarecimento, também :)
Warren
3
@warren realmente deveria ser um operador de mod ao invés de uma divisão. Mas tudo bem ¯_ (ツ) _ / ¯ #
Goahnary
7
A Wikipedia tem uma boa explicação sobre como configurar o Cron.
Para o seu caso específico, você pode executar uma Expressão Cron para executar a cada 3 meses - obviamente, altere os meses para se adequar à sua programação.
-1 Enquanto isso estiver marcado como resposta correta, ocorrerá um erro, pois os campos estão na ordem errada e, mesmo que estivessem na ordem correta, seriam executados todos os dias à meia-noite até janeiro, abril, julho e outubro (por exemplo, 01/01 02 / 01 ... 31/01 01/04 ..) e não apenas uma vez a cada três meses. Minha resposta funcionaria, mas não foi aceita. Triste eu!
Richard Holloway
@ Richard Holloway - os mistérios da culpa servidor - já atualizei a minha resposta Obrigado por apontar o erro de digitação
Jon Rhoades
1
Eu removi meu -1 para refletir a alteração.
Richard Holloway
Você também não deve ter os espaços após as vírgulas; muitas implementações do cron os verão como separadores. Você pode encontrar implementações que exigem meses numéricos também, embora eu pense que isso seja raro atualmente.
precisa saber é o seguinte
@ David Spillett obrigado, chegaremos lá no final ... Possivelmente, minha resposta mais ruim de todas. Se eu tivesse alguma decência eu excluí-lo;)
Respostas:
O script a seguir será executado em 1º de janeiro, abril, julho e outubro às 03:30
Alternativamente, mas menos óbvio
Será executado a cada três meses às 03:30 no dia 1º de janeiro, abril, julho e outubro.
fonte
*/3
seria a cada quatro meses (12/3 = 4)?A Wikipedia tem uma boa explicação sobre como configurar o Cron.
Para o seu caso específico, você pode executar uma Expressão Cron para executar a cada 3 meses - obviamente, altere os meses para se adequar à sua programação.
fonte