[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: selbstständige Prozess-Aktivitäten




Jan Trippler schrieb:

Am Mittwoch, 11. Februar 2004 09:24 schrieb Jan Kesten:
[...]

Fall 1, die /etc/crontab: Hier stehen alle Cronjobs für das
System als solches drin und sie werden alle als Root ausgeführt.
Das sind die verschiedensten Dinge drin. Gut, man könnte diese
ganzen Jobs ohne weiteres auch in die User-Crontab von root
schreiben - nur gehören die ja eigentlich zum System und nicht
zum User "Root" (hier kann man sich streiten, ich find's so etwas
übersichtlicher)


Wozu dann das Feld "user"?


Fall 2, die /etc/cron.d Crontabs: Hier stehen Cronjobs für
einzelne Programme drin (bei mir z.B. exim (Queue-Lauf),
PostgeSQL etc.). Und hier werden die einzelnen Skripte schon als
ein anderer User ausgeführt (bei exim als User "mail" z.B.). Dies
ist u.a. auch nötig, weil im Beispiel von exim die Mailqueue ja
schon etwas öfter als einmal am Tag laufen soll. Auch hier könnte
man natürlich die einzelnen Crontabs wieder zu den Benutzern
packen (allerdings nicht so ohne weiteres als root, da diese hier
ja nicht unbedingt als root laufen sollten/dürfen). Haken an der
Sache ist wieder die Übersichtlichkeit: So stehen alle zu
installieren Paketen gehörenden Conjobs an einer Stelle (wo ich
genau weiss, wo ich suchen kann), andernfalls müsste ich eben
wissen, bei welchen Usern die Crontabs liegen. Aber dies ist
Debian-spezifisch :-)


Und es wird immer unübersichtlicher ;) Wenn Du als User cron-Jobs ausführen lassen willst, bleibt Dir nur das crontab-Kommando - und das schreibt nach /var/spool/cron/crontabs/<user>. Weder an /etc/crontab noch an /etc/cron.d kommst Du als User ran, als root nur mit einem Editor. Jetzt zähl mal zusammen, an wievielen Stellen unter Linux / Debian cron-Jobs liegen. Wenn es - wie unter den kommerziellen Unixen üblich - einheitlich per crontab-Kommando gemacht würde, hättest Du exakt _1_ Stelle, wo Du nachschauen musst, nämlich im Verzeichnis /var/spool/cron/crontabs! Und das würdest Du nicht mal brauchen, weil Dir ein "crontab -l [-u user]" nämlich alles anzeigen würde. Siehst Du die Jobs aus /etc/cron.d oder /etc/crontab irgendwo? Nein. Was ist daran übersichtlicher oder bequemer?

ich finde das schon sehr übersichtlich, in /etc/crontab alle Jobs, welche für das System wichtig sind, in /etc/cron.d alle Jobs von installierten Programmen (weiss ich also, wo ich die Jobs der Programme finde und Erweiterungen unterbringen kann) und unter /var/spool/cron/crontabs/ die Jobs, welche von $user angelegt wurden, das können natürlich auch spezielle root-Jobs sein.

Also habe ich doch im Gegensatz zu komerziellen Unixen den besseren Überblick darüber, welche Jobs vom System, von Anwendungen und von $user sind.

Das finde ich gut gelöst und ich bin auf vielen Plattformen zu Hause.

Jan

Reinhold





Reply to: