Estou no Linux (Ubuntu) 16.04. Eu tenho um conjunto de scripts em /etc/cron.daily
que anacron manipulado. Eles costumavam correr bem todos os dias, mas notei que eles não estavam funcionando recentemente. Não tenho certeza se é por causa de uma atualização ou qualquer outra coisa. Está me enlouquecendo porque tentei tudo o que posso imaginar sem obter resultados. Aqui está o que eu verifiquei até agora:
1) grep "Nov 22" /var/log/syslog | grep "cron.daily" -B 5 -A 5
:
Nov 22 06:24:47 ubuntu16 dbus[816]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Nov 22 06:24:47 ubuntu16 systemd[1]: Started Network Manager Script Dispatcher Service.
Nov 22 06:24:47 ubuntu16 nm-dispatcher: req:1 'dhcp4-change' [enp1s0]: new request (1 scripts)
Nov 22 06:24:47 ubuntu16 nm-dispatcher: req:1 'dhcp4-change' [enp1s0]: start running ordered scripts...
Nov 22 06:25:01 ubuntu16 CRON[6455]: (root) CMD (cupsenable HP-HP-OfficeJet-Pro-8710)
**Nov 22 06:25:01 ubuntu16 CRON[6456]: (root) CMD (test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ))**
Nov 22 06:30:01 ubuntu16 CRON[6485]: (root) CMD (cupsenable HP-HP-OfficeJet-Pro-8710)
Nov 22 06:35:01 ubuntu16 CRON[6513]: (root) CMD (cupsenable HP-HP-OfficeJet-Pro-8710)
Nov 22 06:39:01 ubuntu16 CRON[6536]: (root) CMD ( [ -x /usr/lib/php/sessionclean ] && /usr/lib/php/sessionclean)
Nov 22 06:40:01 ubuntu16 CRON[6583]: (root) CMD (cupsenable HP-HP-OfficeJet-Pro-8710)
Nov 22 06:45:01 ubuntu16 CRON[6612]: (root) CMD (cupsenable HP-HP-OfficeJet-Pro-8710)
Portanto, parece que os scripts cron.daily estão em execução ou pelo menos o anacron tenta executá-lo e não há erro no syslog. Eu também verifiquei e o cron.daily tem uma entrada de log no syslog para cada dia como deveria.
2) Assegurei que meus scripts fossem executáveis, ls -l /etc/cron.daily/
:
-rwxr-xr-x 1 root root 139 Nov 20 16:24 bingbot
-rwxr-xr-x 1 root root 142 Nov 20 16:24 bingbotb
-rwxr-xr-x 1 root root 142 Nov 20 16:25 bingbotc
3) Eu também adicionei uma linha em /etc/cron.daily/bingbot
antes da chamada para o meu script que criaria um arquivo com a data em que ele foi executado apenas para ter certeza que não era um problema com meu script ( echo "Time: $(date). BINGREWARDS SCRIPT RAN." >> /home/user/bingbot.txt
). No dia seguinte, não criou o bingbot.txt
, então sei que ele não foi executado.
4) Eu corri meu script manualmente do /etc/cron.daily/bingbot
e funcionou perfeitamente e criou um arquivo com a data.
5) Meu script não precisa de permissões de sudo.
6) Conteúdo de /etc/cron.daily/bingbot
:
#!/bin/sh
echo "Time: $(date). BINGREWARDS SCRIPT RAN." >> /home/toshiba/bingbot.txt
python /home/user/Desktop/BingRewards/mainpy
7) UPDATE Tentei executar manualmente o anacron sudo run-parts /etc/cron.daily
que executou com sucesso o meu script. Curiosamente ... no log eu recebo:
Nov 22 17:01:14 ubuntu16 anacron[15605]: Anacron 2.3 started on 2017-11-22
Nov 22 17:01:14 ubuntu16 anacron[15605]: Can't open timestamp file for job cron.daily: Permission denied
Nov 22 17:01:14 ubuntu16 anacron[15605]: Aborted
Após terminar, executei sudo run-parts /etc/cron.daily
novamente e ele não deu esse erro; ele disse Nov 22 17:35:55 ubuntu16 anacron[16777]: Updated timestamp for job cron.daily' to 2017-11-22
Talvez tenha sido um erro de permissão e ele começará a funcionar. Mas o que poderia ter causado esse problema de permissão?
UPDATE2 Anacron não conseguiu executar os scripts hoje também. O mesmo erro "Permissão negada" como no log acima. Além disso, a linha em /etc/crontab
executa o anacron como root como deveria:
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
UPDATE 3 Após reiniciar o computador, o problema desapareceu por aproximadamente 3 dias, mas depois reapareceu. No dia 25, disse no syslog que o cron.daily tinha terminado, o que parece um comportamento estranho. No dia 26, no entanto, parecia funcionar porque dizia no syslog que havia atualizado o registro de data e hora. No dia 27, ele falhou completamente em rodar. Isso é uma loucura. Não consigo descobrir o que está causando isso.
Qual poderia ser a razão pela qual ele não executa meu script?