Wie kann ich wissen, ob Arbeitsplätze wurden / durchführen? - Crontab
Frage
Ich habe den Vorschlag in dieser Frage gefolgt
, wie ich bin mit Django, ich habe das Skript zu speichern Datum und Uhrzeit jeden Lauf des Skripts in der DB gesetzt, aber kein Eintrag gespeichert wurde noch in der Datenbank.
Gibt es eine Möglichkeit, um herauszufinden, andere als die Eingabe von „oben“ und der Suche durch?
Lösung
Als erstes würde ich wahrscheinlich configure cron sich durch die Verwendung MAILTO
jede Ausgabe Mail:
/ etc / crontab:
MAILTO=username
Zweitens, ich in der Regel etwas zu meinem Skript hinzufügen, dass (fast) unmöglich ausfallen, wie die folgenden:
#!/bin/sh
echo "$0 ran on `date +%c`" >> /tmp/crontab_test.log
# ... rest of program
Wenn Sie ein Python-Skript direkt von cron aufrufen, müssen Sie etwas ähnliches oder erstellen Sie ein Wrapper-Shell-Skript tun könnte.
Andere Tipps
Wenn Sie sendmail installiert haben, können Sie die folgenden Funktionen '/ etc / aliases'
hinzufügenroot: your_name@domain.com
Wenn Sie das tun, aktualisieren Sie die Aliase diesen Befehl ausführen:
sudo newaliases
Cron senden Ihnen automatisch jedes Mal, wenn ein Auftrag ausgeführt wird. Keine Notwendigkeit, präzisieren, dass in der crontab-Datei.
Also, stellen Sie sicher, dass Sie Test Ihre E-Mail-Funktionen (zB sicherstellen, dass Sie in der Lage sind, E-Mails vom Server senden) und schließlich erstellen trivial cronjob und testen, ob Sie eine E-Mail erhalten.
Gehen Sie nicht davon!
Neben der Einrichtung Cron E-Mail senden, können Sie die Ausgabe von cron zu einer separaten syslog-Log-Anlage senden, um den folgenden auf Ihre /etc/syslog.conf
durch Zugabe.
# Log cron stuff cron.* /var/log/cron.log
Dies sollte eine Meldung protokolliert jedes Mal /var/log/cron.log ein Auftrag ausgeführt wird.