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.daily
parece funcionar desde que o logrotate funciona. cron.hourly
não possui scripts.
Alguma idéia do que poderia estar errado?
bash
cron
debian-squeeze
Cobra_Fast
fonte
fonte
/var/spool/mail/root
se você ainda não/etc/aliases
configurou o encaminhamento de mensagens raiz em algum lugar em que possa ser lido.cron.weekly
isso.Respostas:
Os
cron.weekly
scripts são iniciados,run-parts
ignorando todos os arquivos com extensão. Renomeieruncheck.sh
pararuncheck
e deve fazerfonte
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/anacron
retornar zero como retval, nenhum outro comando será executado.fonte