Cron: Unterschied zwischen den Versionen
| Zeile 40: | Zeile 40: | ||
* Hier können sich Dateien im selben Format wie in ''/etc/crontab'' befinden | * Hier können sich Dateien im selben Format wie in ''/etc/crontab'' befinden | ||
* nützlich für Snippets | * nützlich für Snippets | ||
| − | * Alternativ auch in ''cron.daily'', ''cron.hourly'', ''cron.monthly'' oder ''cron.weekly'' <!--- | + | * Alternativ auch in ''cron.daily'', ''cron.hourly'', ''cron.monthly'' oder ''cron.weekly'' |
| + | |||
| + | <!-----> | ||
| + | <span id="aufbau-einer-crontab-datei"></span> | ||
| + | = Aufbau einer Crontab Datei = | ||
| + | |||
| + | <span id="cron-vs.-daemon"></span> | ||
| + | = 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 falls es sie gibt A daemon which is always running, has the following benefits: | ||
| + | |||
| + | It can run at frequencies greater than 1 per minute It can remember state from its previous run more easily, which makes programming simpler (if you need to remember state) and can improve efficiency in some cases On an infrastructure with many hosts, it does not cause a “stampedeing herd” effect Multiple invocations can be avoided more easily (perhaps?) BUT | ||
| + | |||
| + | If it quits (e.g. following an error), it won’t automatically be restarted unless you implemented that feature It uses memory even when not doing anything useful Memory leaks are more of a problem. In general, robustness favours “cron”, and performance favours a daemon. But there is a lot of overlap (where either would be ok) and counter-examples. It depends on your exact scenario. <!--- | ||
===cron.d Verzeichnis=== | ===cron.d Verzeichnis=== | ||
Version vom 15. Februar 2023, 09:32 Uhr
Chronos Tabula
- Der Name leitet sich vom griechischen Wort für Zeit ab
- Der Entwickler hat sich jedoch verschrieben
- 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
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 falls es sie gibt A daemon which is always running, has the following benefits:
It can run at frequencies greater than 1 per minute It can remember state from its previous run more easily, which makes programming simpler (if you need to remember state) and can improve efficiency in some cases On an infrastructure with many hosts, it does not cause a “stampedeing herd” effect Multiple invocations can be avoided more easily (perhaps?) BUT
If it quits (e.g. following an error), it won’t automatically be restarted unless you implemented that feature It uses memory even when not doing anything useful Memory leaks are more of a problem. In general, robustness favours “cron”, and performance favours a daemon. But there is a lot of overlap (where either would be ok) and counter-examples. It depends on your exact scenario.
