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

Re: Umgebungsvariable bei über Cronjob gestartetem Shellscript nutzen



Moin,

* Michael Achtzehn wrote (2006-02-05 14:58):
>deshalb habe ich oben ins Script (unter der Zeile #! /bin/bash)
>folgende Zeilen eingetragen (wurde in einigen Foren empfohlen). 
>. /etc/profile
>. ~/.profile

Das ist ein schwerer Fehler. Diese Dateien sind für interaktive Shells
gedacht, nicht für Cronjobs. Wer immer das empfohlen hat, hat keine
Ahnung von der Sache.

Grundsätzlich sollte man Profildateien (also auch .bashrc, .zshrc
etc.) niemals sourcen. Die werden von der jeweiligen Shell zu
passender Zeit gelesen. Wenn ich mit anderen Prozessen eine gemeinsame
Umgebung brauche, dann gehört die in eine weitere Datei, die von
beiden Prozessen gesourct wird.

Es mag Ausnahmen geben, man sollte dann aber sehr genau wissen, was
man tut. Ich source zB. meine .zlogin in meiner .xsession.


>Wie kann ich das Problem lösen (ich möchte möglichst keine Datei zum 
>zwischenspeichern des Wertes nutzen)?

Tja, das ist aber vermutlich die einfachste Variante. Du willst etwas
permanent speichern, warum also nicht im Dateisystem? Der Cronjob wird
jedesmal neu gestartet, mit jedesmal neuer, sauberer Umgebung. Wenn Du
da etwas reinbringen willst, mußt Du es schon von Platte lesen.


>Warum funktioniert das mit dem Vorgeben der Profile oben im Script nicht 
>- obwohl andere User (mit anderen Linuxen) damit Erfolg hatten?

Ich kann mir eigentlich nicht vorstellen, daß die damit Erfolg hatten.
War es denn genau das gleiche Ausgangsproblem?


Thorsten
-- 
If something is so complicated that you can't explain it in
10 seconds, then it's probably not worth knowing anyway.
    - Calvin

Attachment: pgpZDWFKXqeOW.pgp
Description: PGP signature


Reply to: