Ich bin Teil des Maintainer Teams einer Anwendung, die im Hintergrund sehr intensiv Gebrauch macht von cron (und auch anacron).
In dem Kontext lese ich derzeit häufiger, man solle das ja jetzt mit systemd erledigen, weil cron ja bald tot sei.
Mir geht es hier nicht um eine pro/contra Bewertung beider Varianten. Als Entwickler muss ich nehmen, was mir das System offeriert.
Vermeiden möchte ich jedoch unbedingt, dass ich hier zwei Systeme unterstütze und mein Code entsprechend komplex wird.
Ich denke es eilt nicht, weshalb ich vorerst bei cron bleiben kann. Aber wie schätzt ihr die Entwicklung ein? Bei Debian gehe ich ja stark davon aus, dass hier lange beides im System bleiben wird. Aber bei Fedora soll cron angeblich schon per default deaktiviert sein. Natürlich gibt es auch systemd-freie Distros, die ich nicht vergessen möchte.
Wie schätzt ihr die Situation derzeit ein?
Scheduling aus Entwicklersicht: Cron und/oder Systemd
Scheduling aus Entwicklersicht: Cron und/oder Systemd
Debian 11 & 12; Desktop-PC, Headless-NAS, Raspberry Pi 4
Teil des Upstream Betreuer Teams von Back In Time (backintime)
Teil des Upstream Betreuer Teams von Back In Time (backintime)
- schorsch_76
- Beiträge: 2601
- Registriert: 06.11.2007 16:00:42
- Lizenz eigener Beiträge: MIT Lizenz
Re: Scheduling aus Entwicklersicht: Cron und/oder Systemd
Das cron stirbt oder aus Debian entfernt wird glaube ich ehrlich gesagt nicht. Wenn es nicht mehr in der Standardinstallation einiger Distributionen nicht mehr installiert sein könnte, kann ich mir vorstellen aber auch dort wird es im Packetmanagement verfügbar bleiben. Es gibt ja nicht nur eine cron Implementierung. Da gibt es ja etliche Versionen bzw. Implementierungen [1]
[1] https://wiki.gentoo.org/wiki/Cron#Which ... the_job.3F
[1] https://wiki.gentoo.org/wiki/Cron#Which ... the_job.3F
Re: Scheduling aus Entwicklersicht: Cron und/oder Systemd
Fuer die aufgerufenen Programme und Scripte macht es ja keinen Unterschied. Geht es dir also um automatisches Eintragen von Jobs? Oder an welcher Stelle genau betrifft das deine Arbeit?
Aus meiner Sicht sollte es keinen grossen Unterschied machen, ob ihr die Jobs mit Cron oder mit Systemd aufrufen lasst. Selbst wenn ihr das Verwalten der Jobeintraege automatisiert habt, sollte das mit einer Abstraktionsebene einfach austauschbar sein. Aber vielleicht sehe ich den Problempunkt noch nicht ganz ...
(Edit: Aus meiner Sicht sollte deine Anwendung *nicht* komplexer werden, wenn du beide Systeme unterstuetzt. Es gibt nur wenige Aktionen, die mit Jobs gemacht werden koennen, und die lassen sich sehr gut kapseln und abstrahieren. Falls du dafuer noch keine Abstraktionsschicht hast, wird's Zeit, diese auch unabhaengig der aktuellen Frage einzufuehren. Wenn du diese Schicht schon hast, dann schreibst du einfach eine zweite Implementierung des Interfaces. Die Komplexitaet des Gesamtsystems erhoeht sich dadurch so gut wie nicht. Es erhoehen sich nur die Supportszenarien.)
Zur Frage, wie ich denke, dass die Zukunft wird: Cron wird noch laaaange Zeit installierbar sein. Ob es bei einer neuen Installation standardmaessig installiert ist, ist IMO egal.
Aus meiner Sicht sollte es keinen grossen Unterschied machen, ob ihr die Jobs mit Cron oder mit Systemd aufrufen lasst. Selbst wenn ihr das Verwalten der Jobeintraege automatisiert habt, sollte das mit einer Abstraktionsebene einfach austauschbar sein. Aber vielleicht sehe ich den Problempunkt noch nicht ganz ...
(Edit: Aus meiner Sicht sollte deine Anwendung *nicht* komplexer werden, wenn du beide Systeme unterstuetzt. Es gibt nur wenige Aktionen, die mit Jobs gemacht werden koennen, und die lassen sich sehr gut kapseln und abstrahieren. Falls du dafuer noch keine Abstraktionsschicht hast, wird's Zeit, diese auch unabhaengig der aktuellen Frage einzufuehren. Wenn du diese Schicht schon hast, dann schreibst du einfach eine zweite Implementierung des Interfaces. Die Komplexitaet des Gesamtsystems erhoeht sich dadurch so gut wie nicht. Es erhoehen sich nur die Supportszenarien.)
Zur Frage, wie ich denke, dass die Zukunft wird: Cron wird noch laaaange Zeit installierbar sein. Ob es bei einer neuen Installation standardmaessig installiert ist, ist IMO egal.
Use ed once in a while!
-
- Beiträge: 938
- Registriert: 22.02.2009 16:19:02
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Schweiz
-
Kontaktdaten:
Re: Scheduling aus Entwicklersicht: Cron und/oder Systemd
Es stellt sich die Frage, wie stark ihr sonst auf systemd setzt. Habt ihr beispielsweise dateibasierte Trigger im Einstatz (z.B. Aktionen, die beim Beschreiben eines serverseitigen Git-Repos ablaufen)? Dann wäre es naheliegend, auch zeitliche Trigger (Cronjobs) mit systemd zu managen.
Oder habt ihr ein Deployment, wo irgendwo noch ein anderes Unix involviert ist? Wir haben beispielsweise noch einen FreeBSD-Server, und ich bin doch recht froh, dass wir im Konfigurationsmanagementtool nur einen Mechanismus (cron) unterstützen müssen.
systemd bietet einige recht komfortable Features, wie beispielsweise neulich wegen Sommer- und Winterzeit diskutiert. (Das ist gerade dann interessant, wenn man auf dem Server noch UTC verwendet.) Vielleicht gibt es Anforderungen, die man mit systemd einfacher bedienen kann als mit cron.
Oder habt ihr ein Deployment, wo irgendwo noch ein anderes Unix involviert ist? Wir haben beispielsweise noch einen FreeBSD-Server, und ich bin doch recht froh, dass wir im Konfigurationsmanagementtool nur einen Mechanismus (cron) unterstützen müssen.
systemd bietet einige recht komfortable Features, wie beispielsweise neulich wegen Sommer- und Winterzeit diskutiert. (Das ist gerade dann interessant, wenn man auf dem Server noch UTC verwendet.) Vielleicht gibt es Anforderungen, die man mit systemd einfacher bedienen kann als mit cron.
Habe nun, ach! Java
Python und C-Sharp,
Und leider auch Visual Basic!
Durchaus programmiert mit heissem Bemühn.
Da steh' ich nun, ich armer Tor!
Und bin so klug als wie zuvor.
Python und C-Sharp,
Und leider auch Visual Basic!
Durchaus programmiert mit heissem Bemühn.
Da steh' ich nun, ich armer Tor!
Und bin so klug als wie zuvor.