( Wenn Logfile fehlt, mail an Server )
Ist aber soweit ich das sehen kann falsch: 'test ! -f $log' liefert true, wenn die Log-Datei /nicht/ vorhanden ist. Da das mit || verodert ist, wird der Rest nur durchgeführt, wenn die Log-Datei vorhanden ist.
echo -e "Cron - $server \n\n Download - Logfile ($log) nicht vorhanden" &2>/dev/null
Sicher, dass du '&2>/dev/null' meinst? Das führt dazu, dass echo im Hintergrund ausgeführt wird. Ich denke du meintest '2>/dev/null' Ist aber so oder so überflüssig, da weder 'echo' in dem Fall irgendwas auf STDERR schreiben wird, noch die Ausgabe auf STDERR an mail gepipt wird.
Das '&& exit 0' ist übrigens auch völlig überflüssig.
funktioniert nicht.
Da ich nicht weiß, was genau unter „funktioniert nicht” zu verstehe ist, kann ich dazu leider nichts sagen. Aber ich würde dir, nicht nur aus Gründen der Lesbarkeit dazu raten IF-Then-Else zu verwenden.