Pourquoi cron.weekly ne fonctionne pas?

8

Quand j'ai remarqué que le script de sauvegarde que j'ai placé dans /etc/cron.weekly sur mon serveur Debian6 n'est pas exécuté, j'ai placé ce petit script dedans, pour voir si le cronjob hebdomadaire est exécuté:

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

enregistré sous

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

Lorsque j'ai vérifié aujourd'hui, le fichier journal qu'il était censé créer n'existait pas.
Le crontab ressemble à ce qui suit (qui devrait être le crontab debian6 par défaut à ma connaissance):

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 )

Tout ce qui apparaît du cronjob hebdomadaire dans tous les fichiers journaux est cette ligne:

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

Note latérale: cron.dailysemble fonctionner depuis que logrotate fonctionne. cron.hourlyne contient aucun script.

Des idées sur ce qui pourrait mal tourner?

Cobra_Fast
la source
Vérifiez le courrier de root pour la sortie et les messages d'erreur potentiels. Peut être trouvé dans /var/spool/mail/rootsi vous n'avez pas encore /etc/aliasesconfiguré pour transférer le courrier de root quelque part où il peut être lu.
Ladadadada
@Ladadadada bonne idée! Malheureusement, il n'y a absolument rien de préoccupant cron.weeklylà-dedans.
Cobra_Fast

Réponses:

18

Les cron.weeklyscripts sont démarrés par run-partslesquels saute tous les fichiers avec l'extension. Renommer runcheck.shpour runchecket il devrait faire

krissi
la source
4
C'est le genre de chose qui ne vous surprend que lorsque je parie.
user9517
1

comm1 || comm2 || comm3 || comm4

sera exécuté jusqu'à ce que le premier retval = 0 soit renvoyé (de gauche à droite). Le reste des commandes chaînées sont optimisées par l'interpréteur et NON exécutées du tout

Si test -x /usr/sbin/anacronrenvoie zéro comme retval, aucune autre commande ne sera exécutée.

Kondybas
la source