Ich habe in den letzten Stunden über Cronjobs gerätselt. Ich habe Dokumentationen und Beispiele gelesen. Ich verstehe die Grundlagen und Konzepte, aber habe nichts zum Laufen gebracht. Ich wäre also für Hilfe bei diesem absoluten Anfängerdilemma dankbar.
Das ultimative Ziel ist, die Ausführung einer Django-Funktion jeden Tag zu planen. Bevor ich so weit komme, möchte ich wissen, dass ich jedes alte Skript so planen kann, dass es zuerst einmal und dann regelmäßig ausgeführt wird.
Ich möchte also: 1) ein einfaches Skript schreiben (vielleicht ein Bash-Skript), mit dem ich feststellen kann, ob es tatsächlich erfolgreich ausgeführt wurde oder ob es fehlgeschlagen ist. 2) dieses Skript so planen, dass es zu jeder vollen Stunde ausgeführt wird
Ich habe versucht, ein Bash-Skript zu schreiben, das einfach einen Text auf dem Terminal ausgibt:
#!/bin/bash
echo "The script ran"
Dann habe ich dies in eine TXT-Datei eingefügt
MAILTO = *****.******@gmail.com
05 * * * * /home/vadmin/development/test.sh
Aber nichts ist passiert. Ich bin sicher, ich habevieleDinge falsch. Wo fange ich an, das alles zu beheben?
Antwort1
Ich weiß nicht, ob Sie die Cron-Ausgabe tatsächlich auf diese Weise auf dem Bildschirm sehen können.
Ich wette, wenn Sie
echo "the script ran" >> /home/vadmin/file.txt
Überprüfen Sie bei Ihrem Job, ob Cron ausgeführt wird und die Crontab korrekt installiert ist (wie in den anderen Antworten vorgeschlagen). Es wird wie erwartet ausgeführt.
Der von Ihnen angegebene Cron wird jedoch nicht jeden Tag ausgeführt, sondern jeweils um 5 Uhr nach jeder vollen Stunde.
Antwort2
Läuft Ihr Cron-Daemon tatsächlich? Überprüfen Sie die Prozesstabelle.
Möglicherweise liegt auch ein Problem beim Versenden der Ergebnisse per E-Mail vor. Überprüfen Sie dazu die Protokolle von Crond und Ihrem lokalen Mailserver.
Antwort3
Die Zeilen, die Sie in eine .txt-Datei eingefügt haben, müssen zu einercrontab.
Best Practices sehen vor, die Crontab-Datei nicht direkt zu bearbeiten, sondern den crontab -e
Befehl zu verwenden, der die Crontab in einem Editor öffnet, Ihnen das Bearbeiten/Speichern ermöglicht, sie auf Syntaxfehler überprüft und sie sicher speichert.
Eine Besonderheit von cron, die auf Ihrem System möglicherweise vorhanden ist, besteht darin, dass cron die vorhergehende Zeile ignoriert, wenn die letzte Zeile in der Datei keine leere Zeile ist. Stellen Sie sicher, dass Sie am Ende Ihrer Crontab mindestens eine leere Zeile hinzufügen.