Anacron cron.daily não está executando meus scripts

0

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?

    
por NULL 22.11.2017 / 22:53

1 resposta

1

Eu tive o mesmo problema no EL6 (não no debian), mas o motivo poderia ser o mesmo. Eu tinha as permissões erradas em /etc/cron.hourly/0anacron (wrong = chmod 600) devido a um script de segurança. Eu reinstalei o cronie-anacron e ele restaurou o bit de execução (ou seja, chmod 755) e ele começou a funcionar.

Observe que / usr / bin / run-parts verifica se as "partes" ou arquivos em /etc/cron.hourly são executáveis:

if [ -x $i ]; then

não se são legíveis ... por isso, veja as permissões nestes arquivos. Observe também que o anacron em si é realmente executado fora do cron.hourly (mesmo que os trabalhos que você especificou sejam diários)

    
por 26.07.2018 / 18:22