Por que esse arquivo crontab é executado apenas uma vez?

2

Eu tenho o seguinte arquivo crontab:

2 * * * * /bin/date >> /home/jon/date_from_cron.txt

Eu acho que isso significa "executar a cada dois minutos". No entanto, ele é executado apenas uma vez. Logo após a configuração desse arquivo crontab, verifiquei /home/jon/date_from_cron.txt e descobri que ele continha o seguinte:

Tue Jan  8 17:02:01 CST 2013

Dez minutos depois, ele ainda contém apenas essa linha.

O que estou fazendo errado?

EDIT: Disseram-me para usar /2no início para executar o trabalho a cada dois minutos. Mas meu sistema operacional não suporta isso. Eu tentei em um Mac executando o Mountain Lion e em uma máquina Ubuntu. Aqui está uma citação da Internet sobre isso: "Repita o padrão como / 2 a cada 2 minutos ou / 10 a cada 10 minutos não é suportado por todos os sistemas operacionais. Se você tentar usá-lo e o crontab reclamar, provavelmente não é suportado. " Portanto, como não há suporte para isso em minhas máquinas, como posso obter um trabalho para executar a cada X minutos?

jononomo
fonte

Respostas:

4

Se você deseja que o trabalho cron seja executado a cada dois minutos, deve ser /2 * * * * /bin/date >> /home/jon/date_from_cron.txt

http://www.adminschoice.com/crontab-quick-reference

EDIT: Possivelmente tente */2 * * * * /bin/date >> /home/jon/date_from_cron.txt

Kruug
fonte
Heh, mesmo link de onde eu estava colando. :)
Hennes
Eu tentei colocar uma barra no início da linha, como você sugeriu, e eu tenho o erro:"/tmp/crontab.veZLYWhgT5":0: bad minute crontab: errors in crontab file, can't install
jononomo
Então, parece que seu sistema operacional não suporta "a cada X minutos".
Kruug
@JonCrowell Ver edição.
Kruug
2
2 * * * * / bin / date >> /home/jon/date_from_cron.txt
- - - - -
| | | | |
| | | | + ----- dia da semana (0 - 6) (domingo = 0)
| | | + ------- mês (1-12)
| | + --------- dia do mês (1-31)
| + ----------- hora (0-23)
+ ------------- min (0-59)

Será acionado a cada hora, um e dois minutos após a hora.

Hennes
fonte
Obrigado pela sua resposta, mas veja minha edição.
jononomo
Presumo que atualizar crond para o qual suporta não é uma opção? Então você sempre pode adicionar 30 (!) Entradas no cronjob. Um às 2 horas da tarde, um às 4 horas, um às 6 horas ....... Feio como o inferno. Por favor, use isso somente quando for necessário.
Hennes
1

Isso será executado a cada 15 minutos às 0, 15, 30 e 45 minutos após a hora. Deve funcionar com qualquer versão do cron:

0,15,30,45 * * * * /bin/date >> /home/jon/date_from_cron.txt

É um exercício para o leitor converter tediosamente isso a cada 2 minutos. :)

malabarista
fonte
Não é necessário ...*/2 * * * * /bin/date >> /home/jon/date_from_cron.txt
Kruug