Ich habe Ubuntu-Server und ich habe einen Cron-Job, der Python-Skript ausgeführt wird. Ich weiß, ich kann stderr Ausgabe MAILTO=
in Crontab bekommen. Ich weiß auch, dass die Standardausgabe von stdout und stderr zu einer Datei 2>&1
Umleitung ist. Hier kommt mein erstes Problem.Ausgabe Stderr von Cron zu Datei und E-Mail
Was auch immer ich verwendet habe ich Fehler /bin/sh: 1: Syntax error: Bad fd number
. Nach ein paar Stunden wurde mir klar, dass es auf die SH-Version ankommt. Die einzige Möglichkeit, alles in eine Datei auszugeben, war die Verwendung dieses Befehls 00 00 * * * /usr/bin/python3 /data/script.py >& /data/logs/date +\%d_\%m_\%Y_out.log
. Ich habe im Internet gefunden, dass es csh
oder tcsh
gehört. Ich bekomme es nicht, weil ich Bash auf meinem System verwende. Warum funktioniert die Standardumleitung wie >>/log.txt 2>&1
nicht für mich?
Mein zweites Problem ist, dass ich stdout und stderr in eine Datei schreiben und stederr über MAILTO
weiter mailen möchte. Ich habe versucht, mit tee
Befehl zu spielen, aber ohne Erfolg. Vielen Dank für Ihre Hilfe
Vielen Dank für Ihre Antwort. Das Hinzufügen von Variablen hat geholfen, aber Ihre Lösung gibt alles in eine Datei und auch in eine Mail aus. Ich will alles in einer Datei und einfach stderr in Email. Ich weiß nicht, ob das überhaupt möglich ist –