Adicionar arquivo ao /etc/cron.d não o faz rodar (Ubuntu 10.04)

17

Se eu scp um arquivo cron em /etc/cron.d ele não é executado a menos que eu edite o arquivo e mude o comando. Então o crond parece pegar o arquivo cron.

Como posso fazer o cron recarregar seus arquivos cron no Ubuntu 10.04? 'tocar' o arquivo não funciona nem 'reiniciar cron' ou 'reload cron'.

Meu arquivo cron está configurado para ser executado a cada minuto e registra em um arquivo. Nada acaba no arquivo de log até que eu edite o comando, e não há entrada para ele em / var / log / syslog

Estou perplexo.

Aqui está meu arquivo cron salvo em /etc/cron.d/runscript (note que ele termina com uma nova linha)

# Runs the script every minute. This is safe because it will exit with success if it's already running
* * * * * www-data if [ -f /usr/local/bin/thing ]; then exec /usr/bin/php /usr/local/bin/thing mode:prod -a 14 -d >> /var/log/thing/mything.log 2>&1; else echo 'date +'[\%D \%T]'' "Thing not deployed. Command not run" >> /var/log/thing/mything.log; fi &
    
por tom 07.09.2012 / 11:29

2 respostas

21

Acabei de me deparar com este problema e, embora não responda ao seu caso específico, pode muito bem ajudar outras pessoas a pesquisar o mesmo problema que esta questão, que é muito alta nos resultados.

Eu salvei um arquivo em /etc/cron.d e ele estava sendo ignorado. No meu caso, foi porque eu dei uma extensão aos arquivos.

mytask.cron não funcionou, mas eu renomei para mytask e funcionou bem.

Todos os arquivos com extensões são ignorados, portanto, certifique-se de que o arquivo que você salvou não tenha nenhuma extensão.

    
por 23.07.2014 / 15:08
12

Verifique se o arquivo que você está copiando termina em \n . Entradas em crontabs que não têm \n no final geralmente apresentam problemas. A maneira mais fácil de garantir isso é colocar uma linha em branco após sua última entrada.

    
por 07.09.2012 / 11:43

Tags