[Eisfair] dehydrated: Error-Mails werden nicht zugestellt (feature-request?)

Marcus Roeckrath marcus.roeckrath at gmx.de
Di Jun 6 08:48:18 CEST 2017


Hallo Rolf,

Rolf Bensch wrote:

>> Als Cronjob
>> 
>> certs_dehydrated.sh --request-cert >> <logfile> 2>><logfile>
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>> 
>> was wiederum dann
>> 
>> dehydrated --config <configfile> --cron $2 2>&1 | tee -a <logfile>
>> 
>> Für letzteren sind dann auch noch die zusätzlichen Umleitungen aktiv, so
>> dass am tee in diesem Fall nichts mehr ankommen dürfte.
>> 
>> Insbesondere bekommt der cron durch den tee, der wohl immer errorlevel 0
>> liefert, nichts von einem Fehler mitbekommen, womit der fcron auch keine
>> Mail schreibt, was er nämlich nur bei fehlgeschlagenen cronjobs tut
>> (errorlevel >0).
> 
> Ich interpretiere da so, dass es besser wäre, wenn dehydrated.sh die
> Ausgabe selbst als Logfile anhängt - oder kann ich irgendetwas tun?

Ich denke, an der gekennzeichneten Stelle sollte man auf die Umleitungen ins
Logfile verzichten, weil das üer die Pipe nach tee passiert.

Allerdings verbleibt das Problem, dass tee immer errorlevel 0 für die Pipe
zurückliefert, auch wenn der erste Befehl der Pipe fehlschlägt; hier ein
Beispiel bei dem der erste Befehl eine nicht existente Datei auflisten
soll:

# ls xyz ; echo $?
ls: cannot access 'xyz': No such file or directory
2

Korrekterweise Errorlevel ungleich 0.

eis # ls xyz | tee  abc ; echo $?
ls: cannot access 'xyz': No such file or directory
0

Auch hier hat der ls einen Errorlevel ungleich Null, aber schlussendlich
wird der errorlevel von tail also 0 zurückgegeben.

Damit würde der fcron keine Mail senden, da wegen errorlevel 0 für fcron das
Ganze erfolgreich war.

Ich habe keine schnelle Lösung parat. Wahrscheinlich muss man die
Menufunktion und den cron-Aufruf völlig voneinander trennen.

Warte mal, was Jürgen dazu sagt.

-- 
Gruss Marcus


Mehr Informationen über die Mailingliste Eisfair