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?)

Foi útil?

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 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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top