Hallo, ich habe ein Skript, das bei jedem User meines Rechners einmal täglich ausgeführt werden muss. Soweit sogut, das erledige ich momentan händisch mittels crontab -e. Nun ist es aber so, dass auf dem betreffenden Rechner relativ häufig neue User hinzukommen. Meine Idee war, in das /etc/skel eine entsprechende crontab-Datei zu hinterlegen, so dass bei jedem Neu-Anlegen eines Users dieser Crontab-Eintrag, der das Skript aufruft, gleich mit drin ist. Nur: Wo legt crontab die User-Cronjobs ab? Und geht das so überhaupt? Oder soll ich mir ein Skript schreiben, das erst adduser ausführt und dann anschließend den Crontab-Eintrag vornimmt? Michael -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Mittwoch, 7. Januar 2009 16:00 schrieb Michael Herrmann:
Hallo,
ich habe ein Skript, das bei jedem User meines Rechners einmal täglich ausgeführt werden muss.
Hmm, könnte man das nicht einfach in /etc/cron.daily reinlegen und das SKript so bauen, dass es alle konfigurierten User abarbeitet? Nur so eine Idee... [...]
Meine Idee war, in das /etc/skel eine entsprechende crontab-Datei zu hinterlegen, so dass bei jedem Neu-Anlegen eines Users dieser Crontab-Eintrag, der das Skript aufruft, gleich mit drin ist.
Nur: Wo legt crontab die User-Cronjobs ab? Und geht das so überhaupt?
Wenn es geht eine gute Idee, leider keine Ahnung wie/ob...
Oder soll ich mir ein Skript schreiben, das erst adduser ausführt und dann anschließend den Crontab-Eintrag vornimmt?
Siehe oben, cron.daily. Sollte möglich sein Skript zu basteln, welches Deine Jobs pro User ausführt... HTH Andre -- Measure with a micrometer. Mark with chalk. Cut with an axe. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Mittwoch, 7. Januar 2009 16:21 schrieb Andre Heine: [...]
Oder soll ich mir ein Skript schreiben, das erst adduser ausführt und dann anschließend den Crontab-Eintrag vornimmt?
Oh mann, so etwas darf man ja nicht vergessen:-) Das könnte Dich eventuell auch weiterbringen. /etc/cron.d Da gibt es viele Wege, du hast die Qual der Wahl:-) Ciao andre -- Show respect for age. Drink good Scotch for a change. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Michael, On Wednesday 07 January 2009 16:00:47 Michael Herrmann wrote:
Hallo,
ich habe ein Skript, das bei jedem User meines Rechners einmal täglich ausgeführt werden muss.
Wenn Du das Script in /etc/init.d ablegst, wird es beim Systemstart ausgeführt. In welchem Runtime-Level kannst Du dann im Runlevel-Editor von Yast eintragen; dort findest Du das zuvor nach init.d kopierte Script. Gruß Thomas
Michael
-- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Mittwoch, 7. Januar 2009 16:38 schrieb Thomas Schirrmacher:
Wenn Du das Script in /etc/init.d ablegst, wird es beim Systemstart ausgeführt. In welchem Runtime-Level kannst Du dann im Runlevel-Editor von Yast eintragen; dort findest Du das zuvor nach init.d kopierte Script.
NACK! Das ist irgendwie quatsch, er schreibt, er will das täglich! Was macht Du nun auf einem Server? Täglich rebooten? Sorry... Ciao Andre -- Smoking is one of the leading causes of statistics. -- Fletcher Knebel -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Michael Herrmann schrieb:
Meine Idee war, in das /etc/skel eine entsprechende crontab-Datei zu hinterlegen, so dass bei jedem Neu-Anlegen eines Users dieser Crontab-Eintrag, der das Skript aufruft, gleich mit drin ist.
Nur: Wo legt crontab die User-Cronjobs ab?
Die einzelnen Crontabs sollten unter /var/spool/cron/tabs liegen. Ich persönlich finde den Vorschlag allerdings eleganter, ein Script aufzurufen und in diesem alle existenten User einzeln abzuarbeiten. So lässt sich z.B. der Zeitpunkt dafür mit einem Schlag ändern. Gruß Florian -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Florian Schaal wrote:
Michael Herrmann schrieb:
Meine Idee war, in das /etc/skel eine entsprechende crontab-Datei zu hinterlegen, so dass bei jedem Neu-Anlegen eines Users dieser Crontab-Eintrag, der das Skript aufruft, gleich mit drin ist.
Nur: Wo legt crontab die User-Cronjobs ab?
Die einzelnen Crontabs sollten unter /var/spool/cron/tabs liegen.
Ich persönlich finde den Vorschlag allerdings eleganter, ein Script aufzurufen und in diesem alle existenten User einzeln abzuarbeiten. So lässt sich z.B. der Zeitpunkt dafür mit einem Schlag ändern.
Nicht nur das, es geht auch schonender mit den Ressourcen um. Wenn jetzt plötzlich 100 User das gleiche Script zur gleichen Zeit abfeuern, dann geht der Server plötzlich in die Knie. Läuft das Script nur eine kurze Zeit, dann ist es wahrscheinlich viel sinnvoller, dieses Script seriell ausführen zu lassen und nicht parallel. -- Sandy Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am 8. Januar 2009 12:27 schrieb Sandy Drobic
Nicht nur das, es geht auch schonender mit den Ressourcen um. Wenn jetzt plötzlich 100 User das gleiche Script zur gleichen Zeit abfeuern, dann geht der Server plötzlich in die Knie.
Ich traue dem cron zu, nicht alle crontabs gleichzeitig abzuarbeiten. :-) Gruß Martin -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Donnerstag, 8. Januar 2009 23:11 schrieb Martin Schröder:
Am 8. Januar 2009 12:27 schrieb Sandy Drobic
: Nicht nur das, es geht auch schonender mit den Ressourcen um. Wenn jetzt plötzlich 100 User das gleiche Script zur gleichen Zeit abfeuern, dann geht der Server plötzlich in die Knie.
Ich traue dem cron zu, nicht alle crontabs gleichzeitig abzuarbeiten. :-)
Vermutlich... Ich denke, man hat hier die Qual der Wahl hat. Ein einzelnes Skript kann Vorteile haben, kann... Hast Du ein einzelnes Skript kann der einzelne User nicht mehr entscheiden, ob das laufen soll oder nicht. Hat er einen eigenen cronjob, draf er den abschalten... Soll er das nicht selber entscheiden dürfen, ist es mit Sicherheit besser nur _ein_ Skript anzulegen. An die root-crontab kommt der Normalo User nunmal nicht dran... Ohne genaue Informationen was das Skript können/machen muss/soll, ist hier jegliche weitere Diskussion IMHO im Prinzip Banane... Möglichkeiten gibt es ja soviele:-) Ciao Andre -- Never let your schooling interfere with your education. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Andre Heine schrieb:
Hast Du ein einzelnes Skript kann der einzelne User nicht mehr entscheiden, ob das laufen soll oder nicht.
Hat er einen eigenen cronjob, draf er den abschalten...
Soll er das nicht selber entscheiden dürfen, ist es mit Sicherheit besser nur _ein_ Skript anzulegen. An die root-crontab kommt der Normalo User nunmal nicht dran...
Rein interessenhalber und auf die Gefahr hin, dass ich die man-page gerade falsch verstanden habe: steht der User in cron.deny, kann er crontab eben gerade nicht aufrufen. Ich vermute aber mal ganz stark, dass cron die crontab dennoch abarbeitet. Gruß Florian -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Freitag, 9. Januar 2009 10:23 schrieb Florian Schaal:
Hast Du ein einzelnes Skript kann der einzelne User nicht mehr entscheiden, ob das laufen soll oder nicht.
Hat er einen eigenen cronjob, draf er den abschalten...
Soll er das nicht selber entscheiden dürfen, ist es mit Sicherheit besser nur _ein_ Skript anzulegen. An die root-crontab kommt der Normalo User nunmal nicht dran...
Rein interessenhalber und auf die Gefahr hin, dass ich die man-page gerade falsch verstanden habe: steht der User in cron.deny, kann er crontab eben gerade nicht aufrufen. Ich vermute aber mal ganz stark, dass cron die crontab dennoch abarbeitet.
Jo, sehe ich auch gerade. Noch mehr Möglichkeiten:-) Kann man alles einstellen. cron.allow gibt's ja auch noch... Die Sache mit der "Qual der Wahl" wird wohl nicht wirklich einfacher werden. *gggg* Ciao Andre -- When a fly lands on the ceiling, does it do a half roll or a half loop? -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Donnerstag, 8. Januar 2009 23:11 schrieb Martin Schröder:
Am 8. Januar 2009 12:27 schrieb Sandy Drobic
: Nicht nur das, es geht auch schonender mit den Ressourcen um. Wenn jetzt plötzlich 100 User das gleiche Script zur gleichen Zeit abfeuern, dann geht der Server plötzlich in die Knie.
Ich traue dem cron zu, nicht alle crontabs gleichzeitig abzuarbeiten. :-) Woher soll crond wissen in welcher Reihenfolge er die crontabs abarbeiten soll. Es gibt (afaik) keine Priorisierung für die user crontabs. In der Regel weiß Benutzer hugo nichts von den crontabs, die Benutzer paul angelegt hat. Den Sonderfall, dass für alle Benutzer zentral eine crontab angelegt wird, gibt es normalerweise nicht. Der crond reagiert auf die Uhrzeit, dem ist es wurscht ab da 10 oder 100 contabs liegen.
-- Mit freundlichen Grüßen Matthias Müller (Benutzer #439779 im Linux-Counter http://counter.li.org) PS: Bitte senden Sie als Antwort auf meine E-Mails reine Text-Nachrichten! Siehe auch: http://www.gnu.org/philosophy/no-word-attachments.de.html
Am Freitag, 9. Januar 2009 10:18 schrieb Matthias Müller: [...]
Ich traue dem cron zu, nicht alle crontabs gleichzeitig abzuarbeiten. :-)
Woher soll crond wissen in welcher Reihenfolge er die crontabs abarbeiten soll. Es gibt (afaik) keine Priorisierung für die user crontabs. In der Regel weiß Benutzer hugo nichts von den crontabs, die Benutzer paul angelegt hat.
Interessant, wäre ein Versuch wert...
Den Sonderfall, dass für alle Benutzer zentral eine crontab angelegt wird, gibt es normalerweise nicht.
Ja, darum gibt es ja z.B. cron.daily. IMHO muss genau das Skript das entscheiden... Mal sehen, vielleicht kommt der Vorposter noch damit rüber, was er denn genau machen will!
Der crond reagiert auf die Uhrzeit, dem ist es wurscht ab da 10 oder 100 contabs liegen.
Klingt logisch. Wenn um 10.00h 1Mio. Jobs eingetragen sind, wird er versuchen die auch abzuarbeiten... Hätte jetzt allerdings vermutet, dass crond wirklich versucht mit den Resourcen schonend umzugehen, damit genau das nicht passiert. Aber was soll crond auch machen, wenn um 10.00 1 MIO Jobs starten sollen!? Ich würde jedenfalls genau ein Skript schreiben, welches alle Benutzer abarbeitet... Greetings Andre -- There's no real need to do housework -- after four years it doesn't get any worse. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (7)
-
Andre Heine
-
Florian Schaal
-
Martin Schröder
-
Matthias Müller
-
Michael Herrmann
-
Sandy Drobic
-
Thomas Schirrmacher