J'utilise Ubuntu 14.04 et le démon cron est en cours d'exécution:
# ps ax | grep cron
822 ? Ss 0:00 cron
mais il n'exécute aucun travail. J'obtenais auparavant des entrées /var/log/syslog
comme celle-ci:
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?
no crontab for root
.crontab
commande (-l
switch) dépendent de l'utilisateur, tandis qu'ils/etc/crontab
sont utilisés pour stocker les crons à l'échelle du système. Pour cette raison, les tâches enregistrées dans/etc/crontab
n'apparaîtront dans personnecrontab -l
.Réponses:
Pour vous aider à déboguer ce qui ne va pas avec vos
cron
travaux, 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
Du
cron(8)
page:la source
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 dans le 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.
la source
/etc/crontab
. Peut-être la question est pourquoi ne lecrontab -l
reconnaît pas?J'ai résolu ce problème en modifiant les autorisations sur
/etc/crontab
les éléments suivants:Auparavant, c'était le cas
-rw-rw-r--
. C'était le seul changement. Cela ne fonctionnait pas, maintenant c'est le cas. Je ne sais toujours pas pourquoi.la source
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érente du/etc/crontab
.la source