Estou usando o Ubuntu 14.04 e o cron daemon está em execução:
# ps ax | grep cron
822 ? Ss 0:00 cron
mas não está executando nenhum trabalho. Eu estava recebendo entradas anteriormente /var/log/syslog
como esta:
2014-05-04T11:47:01.839754+01:00 localhost CRON[29253]: (root) CMD (test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ))
mas agora não há entradas relacionadas ao cron. Eu também estava recebendo entradas como esta em /var/log/auth.log
:
2014-05-04T11:47:01.839183+01:00 localhost CRON[29252]: pam_unix(cron:session): session opened for user root by (uid=0)
2014-05-04T11:47:13.495691+01:00 localhost CRON[29252]: pam_unix(cron:session): session closed for user root
mas, novamente, agora não há entradas relacionadas ao cron.
Não sei que tudo mudou. Eu tentei reiniciar o cron:
# service cron restart
cron stop/waiting
cron start/running, process 24907
Eu tentei usar crontab -e
para adicionar um trabalho cron * * * * * date >> /tmp/somefile
que funcionou, mas ele instalou um novo crontab /var/spool/cron/crontabs/root
, enquanto eu quero que o cron use o arquivo /etc/crontab
.
Existe alguma opção de depuração que eu possa usar ou um log em algum lugar que possa fornecer uma mensagem de erro que eu possa investigar?
no crontab for root
.crontab
comando (-l
switch) dependem do usuário, enquanto/etc/crontab
são usados para armazenar crons em todo o sistema. Por esse motivo, as tarefas salvas em/etc/crontab
não aparecerão nas de ninguémcrontab -l
.Respostas:
Para ajudá-lo ainda mais a depurar o que está errado com seus
cron
trabalhos, verifique seu e-mail. Isso geralmente é armazenado em um arquivo como/var/mail/<user_name>
ou/var/spool/mail/<user_name>
.Esses dois arquivos são realmente hardlinks na minha caixa Debian, mas não sei se isso é padrão.
Explicação
De
cron(8)
página:fonte
Você mostrou que não há crontab para root, algum usuário tem uma entrada crontab? Se você estiver usando apenas o root, também poderá verificar os seguintes diretórios: /etc/cron.daily/ - /etc/cron.hourly/ - /etc/cron.monthly/ - /etc/cron.weekly
na minha máquina (centos 6.4) tenho mlocate.cron dentro do diretório /etc/cron.daily/ e o cron executa esse script diariamente.
então eu acho que você só precisa adicionar trabalhos cron.
fonte
/etc/crontab
. Talvez a pergunta seja por quecrontab -l
não reconhece isso?Eu resolvi isso alterando as permissões
/etc/crontab
para o seguinte:Anteriormente era
-rw-rw-r--
. Essa foi a única mudança. Não estava funcionando, agora está. Ainda não sei por quê.fonte
Eu também tive um tipo semelhante de problema, mas depois de especificar a raiz como usuário no
/etc/crontab
, o trabalho cron começou a ser acionado.Pode ser devido à sintaxe seguida na
crontab -e
que é diferente da/etc/crontab
.fonte