Die Cron-Konfiguration erfolgt über die Unix-Shell. Zunächst müssen Sie festlegen, welche Programme Sie ausführen wollen, und den vollständigen Pfad zu diesen Programmen auf der Festplatte des Servers herausfinden. Wechseln Sie dazu in das Verzeichnis, in dem sich das Programm befindet, das Sie ausführen wollen, und ermitteln Sie den vollständigen Pfad zu diesem Verzeichnis mit dem Befehl pwd. Der Pfad könnte z. B. wie /home/u12345/scripts/script.pl aussehen. Vergewissern Sie sich, dass die Datei, die Sie ausführen, über Lese- und Ausführungsrechte (r+x) für den Eigentümer der Datei verfügt.

Sie können die Berechtigungen mit dem Befehl auf die von Ihnen benötigten ändern:

chmod 750 script.pl

Führen Sie anschließend den crontab -e command. Sie gelangen in den Texteditor vi, in den Sie den Text für das Cron-Skript eingeben können. Kurze Informationen über den vi-Editor:

Um Text einzufügen, drücken Sie i, dann geben Sie den Text ein.
Um Zeichen zu löschen, drücken Sie ESC und geben dann x ein.
Um vi zu beenden, ohne die Änderungen zu speichern, drücken Sie ESC und geben dann :q!
Um zu speichern und zu beenden, drücken Sie ESC und geben dann :wq ein.

Cron-Aufträge werden einzeln pro Zeile geschrieben. Nach jeder Zeile, auch nach der letzten oder einzigen, müssen Sie die Eingabetaste drücken – sonst funktionieren die Aufgaben nicht.

Ein Cron-Auftrag sieht aus wie eine Zeile, am Anfang stehen fünf Pflichtfelder, um die Häufigkeit des Auftrags anzugeben, und dann ein Befehl, der ausgeführt werden muss:

field1 field2 field3 field4 field5 command

 

Werte der ersten fünf Felder:

  1. Minuten – eine Zahl von 0 bis 59
  2. Stunden – eine Zahl zwischen 0 und 23
  3. Tag des Monats – eine Zahl von 1 bis 31
  4. Nummer des Monats im Jahr – eine Zahl von 1 bis 12
  5. Wochentag – eine Zahl von 0 bis 7 (0-Sun,1-Mon,2-Tue,3-Wed,4-Thu,5-Fri,6-Sat,7-Sun)

Für jeden spezifischen Parameter können Sie mehrere durch Kommas getrennte Werte angeben. Wenn Sie zum Beispiel 1,4,22 in das Feld „Stunden“ schreiben, wird die Aufgabe um 1 Uhr nachts, um 4 Uhr nachts und um 22 Uhr nachts gestartet. Sie können ein Intervall festlegen – 4-9 bedeutet, dass das Programm jede Stunde im Zeitraum von 4 bis einschließlich 9 Stunden gestartet werden muss. Das Symbol ‘*’ bedeutet „alle möglichen Werte“. Die Angabe von ‘*’ im Feld „Stunden“ würde zum Beispiel „jede Stunde starten“ bedeuten. Das Zeichen ‘/’ wird verwendet, um eine zusätzliche Häufigkeit des Auftrags anzugeben. Zum Beispiel bedeutet „*/3“ im Feld „Stunden“ „alle drei Stunden“.

So sieht also ein einfaches Cron-Skript aus:

0 */3 * * 2,5 /home/u12345/script.pl

Das Skript /home/u12345/script.pl wird automatisch alle drei Stunden am Dienstag und Freitag ausgeführt. Nachdem Sie ein solches Skript in den vi-Editor eingegeben haben, beenden Sie die Bearbeitung mit dem Speichern der Ergebnisse und, wenn Sie keine Fehler gemacht haben, wird die Aufgabe in der angegebenen Häufigkeit ausgeführt. Wenn bei der Bearbeitung Fehler gemacht wurden, werden Sie von cron darauf hingewiesen.

Beispiel:

/tmp/crontab.xxxxxxx: 1 line, 9 characters.

crontab: installing a new crontab

"/tmp/crontab.xxxxxxx":1: bad minute

crontab: errors in crontab file, unable to install

Want to repeat the same edit?

Korrigieren Sie die Fehler und versuchen Sie erneut, die Aufgabe zu speichern. Sie können die Liste der bereits in cron installierten Skripte mit dem Befehl crontab -l anzeigen:

-bash-2.05b$ crontab -l 0 */3 * * 2,5

/home/u12345/script.pl

Empfehlung: Wenn Sie ein Programm einmal am Tag ausführen müssen, vor allem, wenn es viele Ressourcen benötigt, lassen Sie es nachts zwischen 2 und 8 Uhr laufen – die Belastung der Server ist zu dieser Zeit minimal. Nachfolgend finden Sie Beispiele für Cron-Jobs. Wir hoffen, dass diese Informationen Ihnen helfen, die Funktionsweise dieses Programms besser zu verstehen.

# perform the task once per hour for 0 minutes

0 */1 * * * /home/u12345/script.pl

#perform the task every three hours at 0 minutes

0 */3 * * * /home/u12345/script.pl

# complete the task on Mondays at 1:15 a.m.

15 1 * * 1 /home/u12345/script.pl

# complete the task on April 5 at 0 o'clock 1 minute every year

1 0 5 4 * /home/u12345/script.pl

# complete the task on Friday the 13th at 13:13

13 13 13 * 5 /home/u12345/script.pl

#complete the task every month on the 1st at 6:10 am

10 6 1 * * /home/u12345/script.pl