Perché cron.weekly non funziona?


8

Quando ho notato che lo script di backup che ho inserito in /etc/cron.weekly sul mio server Debian6 non viene eseguito, ho inserito questo piccolo script in esso, per vedere se il cronjob settimanale è eseguito:

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

salvato come

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

Quando ho controllato oggi, il file di registro che doveva creare non esisteva.
Il crontab è simile al seguente (che dovrebbe essere il crontab debian6 predefinito a mia conoscenza):

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 )

Tutto ciò che appare del cronjob settimanale in qualsiasi file di log è questa riga:

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 cron.dailya margine : sembra funzionare poiché funziona logrotate. cron.hourlynon contiene script.

Qualche idea su cosa potrebbe andare storto?


Controlla la posta di root per l'output e potenzialmente i messaggi di errore. Può essere trovato /var/spool/mail/rootse non hai già /etc/aliasesimpostato per inoltrare la posta di root da qualche parte che può essere letta.
Ladadadada,

@Ladadadada buona idea! Sfortunatamente non c'è assolutamente nulla di preoccupante cron.weeklylì dentro.
Cobra_Fast,

Risposte:


18

Gli cron.weeklyscript vengono avviati per run-partssaltare tutti i file con estensione. Rinomina runcheck.shin runchecke dovrebbe farlo


4
Questo è il tipo di cose che ti colpiranno solo una volta scommetto.
user9517

1

comm1 || comm2 || comm3 || comm4

verrà eseguito fino a quando non verrà restituito il primo valore di retval = 0 (da sinistra a destra). Il resto dei comandi concatenati è ottimizzato dall'interprete e NON eseguito affatto

Se test -x /usr/sbin/anacronrestituisce zero come retval, non verranno eseguiti altri comandi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.