Estou usando o Ubuntu 14.04 e o daemon cron está em execução:
# ps ax | grep cron
822 ? Ss 0:00 cron
mas não está executando nenhum trabalho. Anteriormente, eu estava recebendo entradas /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 estou ciente de que algo tenha mudado. Eu tentei reiniciar o cron:
# service cron restart
cron stop/waiting
cron start/running, process 24907
Tentei usar crontab -e
para adicionar um cron job * * * * * date >> /tmp/somefile
que funcionou, mas ele instalou um novo crontab em /var/spool/cron/crontabs/root
, enquanto quero que o cron use o arquivo em /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?
Responder1
Para ajudá-lo ainda mais a depurar o que há de 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, na verdade, hardlinks na minha caixa Debian, mas não sei se isso é padrão.
Explicação
Da cron(8)
página:
Ao executar comandos, qualquer saída é enviada ao proprietário do crontab (ou ao usuário nomeado na variável de ambiente MAILTO no crontab, se existir).
Responder2
Você mostrou que não existe crontab para root. Algum usuário tem uma entrada crontab? Se você estiver usando apenas 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 acho que você só precisa adicionar tarefas cron.
Responder3
Resolvi isso alterando as permissões /etc/crontab
para o seguinte:
-rw-r--r-- 1 root root 778 May 10 21:31 /etc/crontab
Anteriormente era -rw-rw-r--
. Essa foi a única mudança. Não estava funcionando, agora está. Ainda não tenho certeza do porquê.
Responder4
Eu também tive um tipo de problema semelhante, mas depois de especificar o root como usuário no /etc/crontab
, o cron job começou a ser acionado.
Pode ser devido à sintaxe seguida no crontab -e
que é diferente do /etc/crontab
.