Cron

Aus Arktur
Wechseln zu: Navigation, Suche

Arktur 3.6 und 5.x beruhen zwar auf Slackware, aber als Cron-Dämon wird das Paket von Paul Vixie benutzt, weil es weiter verbreitet ist und sich deshalb mehr Leute damit auskennen.

Inhaltsverzeichnis

cron

Cronjobs können an 4 Plätzen definiert werden:

/etc/crontab

Diese Datei sollte nicht für lokale Änderungen benutzt werden, sie sollte vor allem die Abarbeitung in den Verzeichnissen "/etc/cron.daily" usw. steuern.

  • Syntax:
    • Zeit Owner Job

/etc/cron.d

In diesem Verzeichnis werden Cronjobs einzelner User gelagert, die (i.a.) nur 1 Anwendung betreffen, z.B. "moodle".

  • Syntax:
    • Zeit Owner Job

/etc/cron.daily usw.

Diese Verzeichnisse werden zu bestimmten Zeiten (in "/etc/crontab" definiert) abgearbeitet; alle ausführbaren Skripts werden (in alphanumerischer Reihenfolge) abgearbeitet.

/var/spool/cron/tabs

Die Dateien in diesem Verzeichnis werden per

crontab -l

oder

crontab -e

bearbeitet; "root" kann auch Dateien anderer User mit dem Aufruf (z.B.)

crontab -l -u <user>

lesen oder bearbeiten.

  • Syntax:
    • Zeit Job

Änderungen der Dateien werden binnen einer Minute durchgereicht, die Änderung wird in "/var/log/messages" notiert.

anacron

Etliche Cronjobs (insbesondere die in "/etc/cron.daily", "/etc/cron.weekly" usw.) unterstellen, dass der Rechner rund um die Uhr läuft.

Wenn der Rechner (z.B. weil Schulferien sind oder die Handwerker für einige Tage die Stromversorgung untebrochen haben) nicht ununterbrochen läuft, dann sollten diese Jobs nachgeholt werden; dazu wird bei Arktur das Programm "anacron" (von RedHat/Fedora) benutzt, das wiederum "run-parts" benutzt.

Dateien

Die Steuerdatei ist "/etc/anacrontab", dort wird definiert, nach Ablauf welcher Zeit (z.B. 8 Tage) alle Dateien eines bestimmten Verzeichnisses (z.B. "/etc/cron.weekly") von "run-parts" aufgerufen und abgearbeitet werden.

In "/var/spool/anacron" wird für jeden Job aus dieser Liste vermerkt, wann er zuletzt aufgerufen wurde.


at

Für einmalige Jobs ist "at" zu benutzen.

Einfachster Aufruf:

echo "echo Hallo" | at now + 5 minutes

(sollte selbsterklärend sein).

Weitere Informationen liefert

  • pinfo at
  • /usr/doc/at/timespec