J'utilise Ubuntu 14.04 et le démon cron fonctionne:
# ps ax | grep cron
822 ? Ss 0:00 cron
mais il n'exécute aucun travail. J'obtenais précédemment des entrées dans /var/log/syslog
tel que cela:
2014-05-04T11:47:01.839754+01:00 localhost CRON[29253]: (root) CMD (test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ))
mais maintenant il n'y a plus d'entrées liées à cron. J'obtenais également des entrées comme celle-ci dans /var/log/auth.log
:
2014-05-04T11:47:01.839183+01:00 localhost CRON[29252]: pam_unix(cron:session): session opened for user root by (uid=0)
2014-05-04T11:47:13.495691+01:00 localhost CRON[29252]: pam_unix(cron:session): session closed for user root
mais encore une fois, il n'y a maintenant aucune entrée liée à cron.
Je ne suis pas au courant que quoi que ce soit ait changé. J'ai essayé de redémarrer cron:
# service cron restart
cron stop/waiting
cron start/running, process 24907
J'ai essayé d'utiliser crontab -e
pour ajouter un travail cron * * * * * date >> /tmp/somefile
qui fonctionnait, mais il a installé un nouveau crontab dans /var/spool/cron/crontabs/root
, alors que je veux que cron utilise le fichier dans /etc/crontab
.
Y a-t-il une option de débogage que je peux utiliser, ou un journal quelque part qui pourrait donner un message d'erreur que je peux étudier?
Pour vous aider à déboguer ce qui ne va pas avec vos travaux cron
, vous devriez vérifier votre courrier. Ceci est généralement stocké dans un fichier comme /var/mail/<user_name>
Ou /var/spool/mail/<user_name>
.
Ces deux fichiers sont en fait des liens physiques sur ma boîte Debian, mais je ne sais pas si c'est standard.
Explication
Depuis la page cron(8)
:
Lors de l'exécution des commandes, toute sortie est envoyée au propriétaire de la crontab (ou à l'utilisateur nommé dans la variable d'environnement MAILTO dans la crontab, s'il en existe un).
J'ai également rencontré un type de problème similaire, mais après avoir spécifié la racine en tant qu'utilisateur sur le /etc/crontab
, le travail cron a commencé à se déclencher.
Cela peut être dû à la syntaxe suivie sur le crontab -e
qui est différent du /etc/crontab
.
Vous avez montré qu'il n'y a pas de crontab pour root, y a-t-il des utilisateurs qui ont une entrée crontab? Si vous utilisez uniquement root, vous pouvez également vérifier les répertoires suivants: /etc/cron.daily/ - /etc/cron.hourly/ - /etc/cron.monthly/ - /etc/cron.weekly
sur ma machine (centos 6.4), j'ai mlocate.cron à l'intérieur du répertoire /etc/cron.daily/ et cron exécute ce script quotidiennement.
donc je pense que vous avez juste besoin d'ajouter des tâches cron.
J'ai résolu ce problème en modifiant les autorisations sur /etc/crontab
aux éléments suivants:
-rw-r--r-- 1 root root 778 May 10 21:31 /etc/crontab
Auparavant, c'était -rw-rw-r--
. C'était le seul changement. Cela ne fonctionnait pas, maintenant c'est le cas. Je ne sais toujours pas pourquoi.