Je veux vérifier que mon travail cron est en cours d'exécution et à quelle heure. Je crois qu'il y a un journal pour mes sudo crontab -e
emplois, mais où?
J'ai cherché google et trouvé des recommandations pour regarder dedans /var/log
(dans lequel je ne vois rien avec 'cron' dans le nom) et pour éditer le fichier /etc/syslog.conf
que je n'ai pas non plus.
/var/log/
répertoire. Recherchez le fichier cron.log ou équivalent.grep -i CRON
faire une recherche insensible à la casseVous pouvez créer un fichier cron.log pour contenir uniquement les entrées CRON qui apparaissent dans syslog. Notez que les travaux CRON apparaîtront toujours dans syslog si vous suivez les instructions suivantes.
Ouvrir le fichier
Trouvez la ligne qui commence par:
Décommentez cette ligne, sauvegardez le fichier et redémarrez rsyslog:
Vous devriez maintenant voir un fichier journal cron ici:
L'activité cron sera maintenant enregistrée dans ce fichier (en plus de syslog).
Notez que dans cron.log, vous verrez les entrées pour lesquelles cron a exécuté des scripts dans /etc/cron.hourly, cron.daily, etc. - par exemple, quelque chose comme:
Cependant, vous ne verrez pas plus d'informations sur les scripts réellement exécutés dans /etc/cron.daily ou /etc/cron.hourly, sauf si ces scripts dirigent directement la sortie vers le fichier 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 à le rechercher dans cron.log ou syslog, créez une crontab qui redirige la sortie vers un fichier journal de votre choix - quelque chose comme:
Cela redirigera toutes les sorties standard et les erreurs pouvant être générées par le script exécuté dans le fichier journal spécifié.
la source
*.*;auth,authpriv.none -/var/log/syslog
en*.*;auth,authpriv.none,cron.none -/var/log/syslog
.2>&1
?Parfois, il peut être utile de le surveiller en permanence, dans ce cas:
la source
-F
, qui suivra le fichier lors des changements de nom, de sorte que lorsqu'il est tronqué / déplacé vers, par exemple/var/log/syslog.1.gz
, vous suivez toujours le/var/log/syslog
fichier actuel . Pour l'homme, c'est la même chose que courirtail xxxx -f --retry
Vous pouvez également diriger la sortie des tâches cron individuelles vers leurs propres journaux pour une meilleure lisibilité. Il vous suffira simplement d'ajouter la sortie de la date quelque part.
la source
Si vous avez
systemd
installé sur votre système, vous pouvez afficher le journal des tâches cron à l'aide de lajournalctl
commande.Par exemple, sur mon Ubuntu 17.10:
la source
C'est une très vieille question, mais aucune de ces réponses ne semble satisfaisante.
Commencez par exécuter votre tâche cron toutes les minutes, puis exécutez cron en tant que non-démon (temporairement, supprimez tout crond qui a peut-être déjà commencé) avec la journalisation des tests:
crond -nx test
Et voyez le journal de l'exécution de votre programme en passant par votre terminal.
la source
No command 'crond' found, did you mean: Command 'cron' from package 'cron' (main)
C'est
/var/log/syslog
par défaut.Mais il peut être configuré pour créer un fichier cron.log distinct, ce qui est plus utile.
Ce Q & A décrit le processus:
16.04: Comment faire pour que cron crée cron.log et le surveille en temps réel?
Cette réponse contient également les instructions pour créer une
wcron
commande qui l’affiche en temps quasi réel. De plus, cela renvoie à une autre réponse,Comment changer le niveau de journalisation cron?
cela montre comment modifier le niveau de journalisation pour inclure plus que le début des travaux - le niveau 15 affiche également les erreurs et l'heure de fin.
la source
Fedoar 29 et RHEL 7
Du
journalctl
manuel:la source
Vous pouvez rediriger la sortie de cron vers un fichier tmp
Tels que: 00 11 07 * * / bin / bash / home /ubuntu/command.sh> / tmp / output 2> & 1
Erreur et sortie normale, les deux seront redirigés vers le même fichier
la source
Comme mentionné précédemment, les tâches cron sont connectées à
/var/log/syslog
Vous pouvez diriger le syslog vers grep et filtrer les journaux CRON, comme ceci
Vous pouvez rechercher dans vos journaux crontab, comme ceci
Vous pouvez rechercher dans les journaux de votre historique crontab stockés dans des fichiers gz, comme ceci
Il est toujours bon d'avoir un mécanisme de journalisation, vous pouvez rapidement configurer ELK pour vos serveurs, vous pouvez également expérimenter avec logz .
la source