Où se trouve le journal de cron / crontab ?

Je veux vérifier que ma tâche cron s'exécute et à quelle heure. Je pense qu'il y a un journal pour mes tâches sudo crontab -e, mais où ?

J'ai cherché sur Google et j'ai trouvé des recommandations pour regarder dans /var/log (dans lequel je ne vois rien avec 'cron&#39 ; dans le nom) et pour éditer le fichier /etc/syslog.conf que je n'ai pas non plus.

Dans une installation par défaut, les tâches cron sont enregistrées dans le fichier

/var/log/syslog

Vous pouvez voir uniquement les tâches cron dans ce fichier journal en exécutant

 grep CRON /var/log/syslog

Si vous n'avez rien reconfiguré, les entrées seront là.

Commentaires (12)

Vous pouvez créer un fichier cron.log contenant uniquement les entrées CRON qui apparaissent dans syslog. Notez que les tâches CRON apparaîtront toujours dans syslog si vous suivez les instructions suivantes.

Ouvrez le fichier

/etc/rsyslog.d/50-default.conf

Trouvez la ligne qui commence par :

#cron.*

décommentez cette ligne, sauvegardez le fichier, et redémarrez rsyslog :

sudo service rsyslog restart

Vous devriez maintenant voir un fichier journal cron ici :

/var/log/cron.log

L'activité de cron sera maintenant enregistrée dans ce fichier (en plus de syslog).

Notez que dans cron.log vous verrez des entrées pour quand cron a exécuté des scripts dans /etc/cron.hourly, cron.daily, etc. - Par exemple, quelque chose comme :

Apr 12 14:17:01 cd CRON[14368]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)

Cependant, vous ne verrez pas plus d'informations sur les scripts réellement exécutés dans /etc/cron.daily ou /etc/cron.hourly, à moins que ces scripts ne dirigent la sortie vers cron.log (ou peut-être vers un autre fichier journal).

Si vous voulez vérifier si une crontab est en cours d'exécution et ne pas avoir à la rechercher dans cron.log ou syslog, créez une crontab qui redirige la sortie vers un fichier journal de votre choix - quelque chose comme :

01 14 * * * /home/joe/myscript >> /home/log/myscript.log 2>&1

Ceci redirigera toute la sortie standard et les erreurs qui peuvent être produites par le script qui est exécuté vers le fichier journal spécifié.

Commentaires (5)

Il peut parfois être utile de le surveiller en permanence, dans ce cas :

tail -f /var/log/syslog | grep CRON
Commentaires (1)