Por que o crontab não quer executar o trabalho como root?

0

Estou usando a versão Ubuntu 14.04 (Trusty) e recebo um problema com meu crontab (estava funcionando antes de 13.10)

Aqui está a linha de comando

/usr/lib/cgi-bin/awstats.pl -config=www.skrik.fr -update >/dev/null

Se eu executar como root no meu terminal, não obtenho nenhum erro, tudo está funcionando sem problemas

Mas se eu adicioná-lo com sudo crontab -e eu recebo

0 * * * * root /usr/lib/cgi-bin/awstats.pl -config=www.skrik.fr -update >/dev/null

Error while processing /etc/awstats/awstats.cloud.skrik.fr.conf Create/Update database for config "/etc/awstats/awstats.cloud.skrik.fr.conf" by AWStats version 7.2 (build 1.992) From data in log file "/var/log/apache2/cloud/access.log"... Error: Couldn't open server log file "/var/log/apache2/cloud/access.log" : Permission denied

Eu recebo exatamente o mesmo problema quando o adiciono ao / etc / crontab

Por que o cron job não quer trabalhar como root?

Muito obrigado pela sua ajuda

    
por Lezin 09.04.2014 / 12:03

1 resposta

0

Solução

Aqui está o problema:

Há uma configuração das tarefas do awstats no /etc/cron.d, que é executado com o www-data. Este está causando o problema, porque o www-data não tem acesso ao / var / log / apache2

Primeiro você precisa:

chmod o+rx /var/log/apache2

Em seguida, você precisa mudar em /etc/logrotate.d/apache2

create 640 root adm

Em:

create 644 root adm

reinicie o serviço.

Meu / etc / crontab estava funcionando bem. Mas eu prefiro rodar o script com uma acusação não raiz.

    
por Lezin 10.04.2014 / 17:51