Matthias Dort schrieb am Mon, 23 Feb 2004 14:30:44 +0100 (MET): Umgebungsvariable im Skript, das per cron ausgefuehrt wird
On Mon, 23 Feb 2004, Henning Hucke wrote:
*** Matthias Dort (lxlist@inz2cl01.rzffm.db.de) schrieb heute in suse-linux:
[...] Wie kann ich eine Variable aus der shell-Umgebung in die cron-Umgebung gelten lassen?
Meine Glaskugel zeigt bei dieser Frage nur Rauschen. Vermutlich versteht
Was meinst Du hier mit Glaskugel? :-)
sie die Frage genausowenig wie ich.
Ja, die Frage bitte genau lesen. Meinerseits versuche ich meine Frage nochmals genauer zu stellen.
Wenn Du wissen möchtest, wie Du in "/etc/crontab" und "/etc/cron.d/*" Variablen setzen kannst, die für die Ausgeführten Kommandos übernommen
Es soll keine neue, nur für cron-job geltende Variable gesetzt werden. Die Frage lautet eher, wie man eine Variable aus der Shell-Umgebung in die cron-env "exportieren" kann.
werden, so lies Dir bitte
man -P "less +'/environment'" 5 crontab
aufmerksam durch (was mal wieder ein Fall von "Ich hatte meine Lust zu lesen" oder "ich habe man 5 crontab" nicht gefunden, wäre).
Wenn Deine Frage ist, wie Du in einem ausgeführten Shell-Script Varia- blen setzen kannst, die fürderhin für alle ausgeführten Scripte gelten,
Keine Variable soll neu gesetzt werden, weder in der Shell-Umgebung noch in cron-Umgebung. Sondern exportieren von dereinen zu den anderen.
rate ich Dir, das nächste Wochenende in Linux-Klausur an einem Stillen Ort mit vielen Unix- und Linux-Büchern zu gehen und Dir mal ein wenig Deinen eigenen Kopf auch über die Sinnhaftigkeit einer solchen Frage zu zerbrechen.
Die Frage ist nicht einfache. Seit Tagen habe ich meine Unix- und Linux-Bücher in bezug auf cron durch gelesen. Die cron(8), crontab(1) und (5) habe ich auch so gar mehrmals gelesen (diese sind nicht lang. Die laengste von den drei hat nur 131 Zeilen!). Ich habe auch im Internet mit google gesucht und noch nichts passendes gefunden.
Gruß, peter
MfG Henning Hucke
Hi, "aus der Shell" kannst Du keine Variable "in cron" "exportieren". Du kannst in die shells, die cron öffnet, mit der ganz üblichen export-Syntax eine Variable exportieren. Aber zuvor muß die cron-shell sie kennen. Du mußt Dich von dem Gedanken lösen, Du wärest bei cron-Prozessen eingeloggt. Auch wenn Du in Deiner crontab was ausführen läßt oder in der root-crontab Dich als user angibst: dies hat nur Einfluß auf Dateirechte etc. Cron verwendet dennoch seine eigene (eingeschränkte) Umgebung mit nur wenigen Variablen und einem kurzen PATH. Für den Rest mußt Du sorgen. Wie Du an die Variablen Deiner Login-shell kommst, hast Du ja schon gelesen. hth -- Joerg Thuemmler sysadmin@vordruckleitverlag.de Vordruck Leitverlag GmbH Berlin, ZNL Freiberg Halsbruecker Str. 31b, 09599 Freiberg, Germany Tel. +49 (0)3731/303121