Especificando “todos os valores ímpares” no crontab?
Pergunta
Em crontab, posso usar um asterisco para significar cada valor, ou "* / 2" para significar cada valor mesmo.
Existe uma maneira de especificar todos os estranho valor? (Será que algo como "1 + * / 2" de trabalho?)
Solução
Dependendo da sua versão do cron, você deve ser capaz de fazer (por horas, por exemplo):
1-23/2
Indo pela seção de extensões na página de manual crontab (5):
Ranges can include "steps", so "1-9/2" is the same as "1,3,5,7,9".
Para uma solução mais portátil, eu suspeito que você apenas tem que usar a lista simples:
1,3,5,7,9,11,13,15,17,19,21,23
Mas talvez seja mais fácil para embrulhar o seu comando em um shell script que irá sair imediatamente se não for chamado em uma hora estranha.
Outras dicas
Cada minuto estranho seria:
1-59/2 * * * *
Cada mesmo minuto seria:
0-58/2 * * * *
Tente
1-23/2
Desde a sua pergunta, eu estou supondo Vixie cron. Eu duvido que isso vai funcionar com qualquer outro cron.
Como eu li o manual "1-23 / 2" (por horas) faria o truque.
Funciona em Cronie Mesmo com 5 minutos de intervalo por exemplo.
3-58/5 * * * * /home/test/bin/do_some_thing_every_five_minute
Sei que isso é quase 10 anos, mas eu estava tendo problemas para obter 1-23 / 2 para uma a cada duas horas, trabalho ímpar horas.
Para todos os usuários, onde, exata ??em> precisão ímpar hora não é necessário. Eu fiz o seguinte, que adequados meu equipes necessidades.
59 */2 * * *
Executar o trabalho a cada duas horas, no Minuto 59.