Como faço para que o cron seja executado todos os domingos no OTHER OTHER?


10

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.


"ímpar" como em "Primeiro, Terceiro e Quinto Domingo"?
precisa saber é o seguinte

1
Não, como na 1ª, 3ª, 5ª, 7ª, ... 49ª, 51ª semana do ano. Em outras palavras, quinzenalmente, aos domingos que caem em semanas ímpares do ano.
quer

Desculpe - o cron não fará isso por você. Você precisará que seu script verifique se é a semana certa para você. (Além disso, se você me lembrar de um determinado lugar - HI !!! ondas )
Jenny D

Respostas:


3

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


Nenhum deles faz o cron rodar nas semanas ímpares. Todos simplesmente fazem um ao outro. Alguns de maneiras extremamente exóticas e "criativas" que eu também não recomendaria.
Chris S

A resposta mais votada parece ser executada toda semana e depois conta com truques da linha de comando para determinar se é a semana apropriada.
nmjk

1
Sim, mas é o módulo 2, o que significa que será executado nas semanas pares. Pode ser possível empilhar vários evalblocos para adicionar um e depois fazer o módulo 2. Isso é feio na melhor das hipóteses, mas suponho que funcione.
Chris S

1
A partir da resposta vinculada, parece que ele tem potencial: 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 ||
Skud

1
Então, pedindo esclarecimentos. Você deseja determinar "todas as semanas ímpares" contando por semana do ano ou contando por semana do mês? Tenho certeza de que o último é possível, mas eu teria que encontrar alguns trechos antigos que usei no passado.
nmjk
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.