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.
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
/var/log/cron
contient les journaux des tâches cron. Mais vous avez besoin d'un privilège root pour voir.
CentOs, Sudo grep CRON/var/log/cron