Por que o cron.weekly não é executado?


8

Quando notei que o backupscript que eu coloquei em /etc/cron.weekly no meu servidor Debian6 não foi executado, coloquei esse pequeno script nele, para ver se o cronjob semanal é executado:

#!/bin/bash
echo 'CRON RAN' > /var/log/cron-weekly-runcheck.log

salvou como

-rwxr-xr-x 1 root root 64 Jul 15 02:14 /etc/cron.weekly/runcheck.sh

Quando eu verifiquei hoje, o arquivo de log que ele deveria criar não existia.
O crontab se parece com o seguinte (que deve ser o padrão debian6 crontab, que eu saiba):

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 1   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

Tudo o que aparece do cronjob semanal em qualquer arquivo de log é esta linha:

Jul 16 06:47:01 wtwrp /USR/SBIN/CRON[29272]: (root) CMD (test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ))

Nota lateral: cron.dailyparece funcionar desde que o logrotate funciona. cron.hourlynão possui scripts.

Alguma idéia do que poderia estar errado?


Verifique o correio do root para obter mensagens de saída e potencialmente erros. Pode ser encontrado em /var/spool/mail/rootse você ainda não /etc/aliasesconfigurou o encaminhamento de mensagens raiz em algum lugar em que possa ser lido.
Ladadadada

@Ladadadada good idea! Infelizmente, não há absolutamente nada sobre cron.weeklyisso.
Cobra_Fast

Respostas:


18

Os cron.weeklyscripts são iniciados, run-partsignorando todos os arquivos com extensão. Renomeie runcheck.shpara runchecke deve fazer


4
Esse é o tipo de coisa em que você só é pego de surpresa uma vez que aposto.
user9517

1

comm1 || comm2 || comm3 || comm4

será executado até o primeiro retval = 0 ser retornado (da esquerda para a direita). O restante dos comandos encadeados são otimizados pelo intérprete e NÃO são executados

Se test -x /usr/sbin/anacronretornar zero como retval, nenhum outro comando será executado.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.