web-dev-qa-db-fra.com

Détails de la dernière tâche cron exécutée dans les systèmes de type Unix?

Je veux obtenir les détails de la dernière tâche cron exécutée. Si le travail est interrompu en raison de certains problèmes internes, je veux relancer le travail cron.

Remarque: je n'ai pas le privilège de superutilisateur.

44
kannanrbk

Vous pouvez voir la date, l'heure, l'utilisateur et la commande des tâches cron précédemment exécutées en utilisant:

grep CRON /var/log/syslog

Cela montrera tous les tâches cron. Si vous vouliez uniquement voir les travaux exécutés par un certain utilisateur, vous utiliseriez quelque chose comme ceci:

grep CRON.*\(root\) /var/log/syslog

Notez que les journaux cron au début d'un travail afin que vous souhaitiez que les travaux longs conservent leurs propres journaux d'achèvement; si le système tombait à mi-chemin d'un travail, il serait toujours dans le journal!

Edit: Si vous ne disposez pas d'un accès root, vous devrez conserver vos propres journaux de tâches. Cela peut être fait simplement en plaçant ce qui suit à la fin de votre commande de travail:

&& date > /home/user/last_completed

Le fichier /home/user/last_completed contiendrait toujours la dernière date et heure de fin du travail. Vous utiliseriez >> au lieu de > si vous souhaitez ajouter des dates d'achèvement au fichier.

Vous pouvez également obtenir le même résultat en mettant votre commande dans un petit script bash ou sh et en faisant exécuter ce fichier par cron.

#!/bin/bash
[command]
date > /home/user/last_completed

Le crontab pour cela serait:

* * * * * bash /path/to/script.bash
67
Stecman

/var/log/cron contient les journaux des tâches cron. Mais vous avez besoin d'un privilège root pour voir.

11
Vijay Vasanth

CentOs, Sudo grep CRON/var/log/cron

2
yen leidong