Cron: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 44: Zeile 44:
 
<!----->
 
<!----->
 
<span id="aufbau-einer-crontab-datei"></span>
 
<span id="aufbau-einer-crontab-datei"></span>
= Aufbau einer Crontab Datei =
+
= Aufbau einer Crontab-Datei =
 +
 
 +
<span id="verwaltung-von-crontab"></span>
 +
= Verwaltung von Crontab =
  
 
<span id="cron-vs.-daemon"></span>
 
<span id="cron-vs.-daemon"></span>
Zeile 53: Zeile 56:
 
** + Es kann sich an seinen vorherigen Status erinnern, falls es notwendig ist
 
** + Es kann sich an seinen vorherigen Status erinnern, falls es notwendig ist
 
** - Verbraucht RAM selbst wenn es gerade nichts tut
 
** - Verbraucht RAM selbst wenn es gerade nichts tut
** - Memory Leaks falls es sie gibt
+
** - Memory Leaks sind ein Problem, falls es sie gibt
 
** - Abhängig von der Implementation wird es nicht automatisch bei Fehlern neu gestartet
 
** - Abhängig von der Implementation wird es nicht automatisch bei Fehlern neu gestartet
 
* Wenn man also eher robuste Aufgaben verteilt, empfiehlt sich Cron.
 
* Wenn man also eher robuste Aufgaben verteilt, empfiehlt sich Cron.

Version vom 15. Februar 2023, 09:48 Uhr

Chronos Tabula

  • Der Name leitet sich vom griechischen Wort für Zeit ab
  • Der Entwickler hat sich jedoch verschrieben

Cron-namensherkunft.png

  • Der cron-Daemon ist eine Jobsteuerung für wiederkehrende Aufgaben, die automatisch zu einer bestimmten Zeit aufgeführt werden sollen (cronjobs).
  • z.B. Archivieren und Löschen von Logdateien, Erneuern von Zertifikaten, DynDNS oder andere Programme zur Instandhaltung des Systems
  • Der Cron-Daemon überwacht dazu verschiedene Dateien und Verzeichnisse, in denen Anweisungen liegen, die in regelmäßigen Abständen ausgeführt werden sollen (crontabs).
  • Beim Start des Daemons wird die Tabelle in den Arbeitsspeicher geladen
  • Es wird minütlich nach auszuführenden Jobs und Änderungen im crontab geprüft

Crontabs

  • Um Syntaxfehler zu vermeiden, werden die Tabellen nicht nur mit dem Texteditor bearbeitet, sondern über den Befehl: crontab

User-Crontab

  • Jeder Benutzer des Systems kann eine eigene Crontab erstellen und bearbeiten
  • Die Jobs, die darin aufgeführt sind, werden von Cron unter der jeweiligen Benutzerkennung ausgeführt

Systemweiter Crontab

  • Befindet sich unter /etc/crontab
  • Das Format unterscheidet sich etwas von den Benutzercrontabs

/etc/cron.d/

  • Hier können sich Dateien im selben Format wie in /etc/crontab befinden
  • nützlich für Snippets
  • Alternativ auch in cron.daily, cron.hourly, cron.monthly oder cron.weekly

Aufbau einer Crontab-Datei

Verwaltung von Crontab

Cron vs. Daemon

  • Ein Daemon läuft immer, d.h.:
    • + Updates laufen häufiger als einmal pro Minute
    • + Es kann sich an seinen vorherigen Status erinnern, falls es notwendig ist
    • - Verbraucht RAM selbst wenn es gerade nichts tut
    • - Memory Leaks sind ein Problem, falls es sie gibt
    • - Abhängig von der Implementation wird es nicht automatisch bei Fehlern neu gestartet
  • Wenn man also eher robuste Aufgaben verteilt, empfiehlt sich Cron.
  • Bei performance-lastigen Aufgaben eher ein Daemon.
Man muss aber je nach Situation selbst entscheiden, was mehr Sinn macht.

Alternative Systemd

  • Systemd-Service Dateien haben auch eine Timer-Funktion, wenn man sie einstellen will.
  • Kann manchmal präziser sein, da Systemd die Zeit ab dem Boot zählt.