Archiv

Posts Tagged ‘cronjobs’

mit cron und at die Aufgabenplanung konfigurieren

2010/12/26 Kommentare aus

Der cron-Daemon ist eine Jobsteuerung von Unix bzw. unixartigen Betriebssystemen wie Linux, BSD oder Mac OS X, die wiederkehrende Aufgaben (cronjobs) automatisch zu einer bestimmten Zeit ausführen kann.

Häufig führt der Cron-Daemon wichtige Programme für die Instandhaltung des Systems aus, wie zum Beispiel Dienste für das regelmäßige Archivieren und Löschen von Logdateien.

Crontab

Der Begriff selbst leitet sich ab von griechisch chronos = die Zeit und lat. tabula = die Tafel, oder das Brett und bedeutet demnach soviel wie „Stundenplan“. Die auszuführenden Befehle werden in einer benutzereigenen Tabelle gespeichert, der sogenannten crontab. Diese Tabelle besteht aus sechs Spalten; die ersten fünf dienen der Zeitangabe (Minute, Stunde, Tag, Monat, Wochentag), alle weiteren Zeichen bis zum Zeilenumbruch werden als der auszuführende Befehl aufgefasst. Die einzelnen Spalten werden durch Leerzeichen oder Tabulatoren getrennt.

Beispiel einer Crontab:

#M    S   T M W    Befehl
5     *   * * *    /usr/bin/message.sh    # fünf Minuten nach jeder vollen Stunde
*/5   *   * * *    /usr/bin/message.sh    # alle 5 Minuten
59    23  * * 0    gzip /var/log/messages # einmal pro Woche Sonntags um 23:59 Uhr
0     0   * * *    gzip /var/log/auth.log # täglich um 00:00 Uhr
20,30 1   * * 1-5  /usr/bin/work.sh       # Montags bis Freitags jeweils um 01:20 und 01:30

Die Struktur ist wie folgt zu verstehen:

* * * * * auszuführender Befehl
┬ ┬ ┬ ┬ ┬
│ │ │ │ │
│ │ │ │ └──── Wochentag (0-7) (Sonntag =0 oder =7)
│ │ │ └────── Monat (1-12)
│ │ └──────── Tag (1-31)
│ └────────── Stunde (0-23)
└──────────── Minute (0-59)

Um den einen cronjob zu erstellen führen Sie den Befehl crontab aus:

crontab –e              # eigenen crontab erstellen/ändern
crontab –e –u alice     # alice’s crontab ändern

at

at Führt Kommandos zur bestimmten Zeit aus.

atq Listet die momentan laufenden Jobs des Benutzers auf, root darf die laufenden Jobs aller Benutzer anzeigen. Die Ausgabe erfolgt im Format: Job Nummer, Datum, Stunde, Queue, und Benutzername.

atrm beendet Jobs, durch ihre Jobnummer identifiziert.

batch führt Befehle aus wenn die Systemauslastung es erlaubt, d.h. wenn die durchschnittliche Systemauslast unter 0,8 fällt, oder den Wert der atd beim Starten übergeben wurde.

Kategorien:RHCSA Schlagwörter: , , , ,