Eu tenho um trabalho cron que é executado em 0 0 * * 0/2 - ou seja, todos os domingos. Apenas funcionou agora, por exemplo. No entanto, quero que funcione nos outros domingos - no próximo domingo, e não neste. Outra maneira de colocá-lo: presumo que ele seja executado nos domingos de número par do ano, mas quero que seja executado nos domingos de número ímpar.
Não vejo nada no "man 5 crontab" que me ajude com isso, então presumo que preciso voltar a executar o cronjob em 0 0 * * 0 e, em seguida, fazer algo no comando que corro para verificar em qual domingo ele é. Alguém pode me ajudar com alguns truques de linha de comando adequados para isso?
ETA: percebi que meu 0/2 não faz o que eu pensava originalmente (todo segundo domingo). É executado todos os domingos, desde que esse dia da semana seja divisível por dois, o que é claro. D'oh. De qualquer forma, o requisito fundamental permanece: execute um comando nos domingos de número ímpar.
Respostas:
Eu não vou fingir ter tentado essa tarefa em particular, mas essa pergunta do Stack Overflow tem algumas respostas que mostram possíveis truques da linha de comando: /programming/350047/how-to-instruct-cron-to- executar um trabalho a cada segundo semana
fonte
eval
blocos para adicionar um e depois fazer o módulo 2. Isso é feio na melhor das hipóteses, mas suponho que funcione.date +\%W
\% 2> / dev / null || seja qual for ... No entanto, para obter as semanas ímpares numeradas, eu gostaria de fazer "&& tanto faz" em vez de ||