Como configurar o cron job para ser executado a cada 2 dias às 23:00 [duplicado]

9

Eu tenho um servidor centos e quero executar um trabalho nele às 23 horas a cada 2 dias, como faço isso?

    
por fred basset 20.11.2010 / 19:05

2 respostas

15

Você pode usar o seguinte arranjo cron. Os campos denotam (da esquerda para a direita):
Minuto, hora, dia do mês, mês, dia da semana. O "* / 2" no campo Dia do Mês significa "a cada dois dias".

0 23 */2 * * insert_your_script_here.sh

    
por 20.11.2010 / 19:09
7

Em geral, você precisa usar o crontab para definir a tarefa e o cronograma de execução.

por exemplo,

crontab -e -u root

Isto irá colocá-lo no VI editando a entrada crontab do root. Então, como ewwhite diz, digite:

0 23 */2 * * insert_your_script_here.sh

e depois [^ ESC] ZZ para salvar as alterações.

Esta é uma boa primeira tentativa, mas isso não acontece em todos os dias alternados, pois será executado no dia 30 do mês e, em seguida, na próxima, no segundo dia do mês. Se você realmente precisa que seja a cada 2 dias, execute o script TODAS as noites.

0 23 * * * insert_your_script_here.sh

e no início do script use

#/bin/sh
if -f /tmp/altday.txt
  rm /tmp/altday.txt
  exit
fi
touch /tmp/altday.txt

Isso usa um arquivo de texto para forçar o script a sair de todas as invocações alternativas.

    
por 20.11.2010 / 20:31