Wenn Sie nur wissen möchten, ob Ihr Cronjob gerade läuft und wann er das letzte Mal gestartet wurde, dann finde ich den folgenden Weg am einfachsten:
0 0 * * * touch /path/cron.start; /path/exec.sh; touch /path/cron.end
Dadurch wird eine Datei /path/cron.start
erstellt mit einem Zeitstempel, der die Startzeit ist. Wenn der Job beendet ist, wird die Datei /path/cron.end
wird den Zeitstempel haben, wenn der Cron fertig ist. Also eine einfache ls -lrt /path/cron.{start,end}
wird Ihnen sagen, wann der Job gestartet wurde und ob er noch läuft (der Auftrag sagt Ihnen, ob er noch läuft).
um zu überprüfen, ob cron zu diesem Zeitpunkt tatsächlich etwas ausführt (funktioniert unter Ubuntu)
pstree -apl `pidof cron`
und Sie erhalten entweder
2775,cron # your pid (2775) will be different to mine :-)
oder eine Baumausgabe mit allen untergeordneten Prozessen, die Cron ausführt (sie werden möglicherweise nicht benannt, wenn Sie nicht über ausreichende Berechtigungen verfügen) und wie Hamoriz sagt, befinden sich die Protokolle in /var/log/syslog, also
grep CRON /var/log/syslog
erhalten Sie die Protokolle nur für cron
Ich würde auch gerne sehen, ob einer meiner Cron-Jobs gerade läuft ?
ps aux |grep "path/exec.sh"
Wann wurde mein Cron-Job ausgeführt?
Das Cron-Protokoll wird nur angezeigt, wenn die Aufgabe von Crond gestartet wird, nicht beim Beenden. Sie müssen dies zu Ihrer Aufgabe hinzufügen oder Ihre Aufgabe in ein Skript mit Kontrollzeit für Start und Ende einbetten.
wenn es schon gelaufen ist ?
cat /path/logs/messages oder /path/logs/file wenn Ihr System Protokolle von crond ablegt (dies hängt von Ihren Distributionseinstellungen oder Ihrem Computer ab)