Wie kann ich verhindern, dass cron mir die Ergebnisse der von mir geplanten Jobs per E-Mail sendet?
Wie kann ich verhindern, dass cron mir die Ergebnisse der von mir geplanten Jobs per E-Mail sendet?
Antworten:
Wenn Sie möchten, dass ein einzelner Job E-Mails stoppt, fügen Sie einfach> / dev / null 2> & 1 hinzu
Beispielsweise:
0 * * * * /home/script >/dev/null 2>&1
Cron sendet Ihnen nur dann eine E-Mail, wenn eine Ausgabe erfolgt, entweder am stdout
oder stderr
.
Wenn es sich um ein Skript handelt, das Sie geschrieben haben, machen Sie es weniger ausführlich - entfernen Sie unnötige echo
oder print
Anweisungen. Das Umleiten stdout
zu /dev/null
ist auch eine gültige Lösung:
2 * * * * /my/script > /dev/null
Wenn Sie immer noch Nachrichten erhalten , nachdem das zu tun, dann ist der Ausgang auf stderr
, so dass es sollte ein Fehler sein, die Sie lösen sollen .. Wenn nicht, können Sie umleiten stderr
zu /dev/null
mit ..
2 * * * * /my/script > /dev/null 2> /dev/null
.. obwohl das Ignorieren von Fehlermeldungen im Allgemeinen eine schlechte Idee ist! (Woher wissen Sie, wann der Cron-Job unterbrochen ist?)
Sie können die Ausgabe eines bestimmten Befehls von stderr nach stdout umleiten, indem Sie 2>&1
beispielsweise Folgendes verwenden :
command_which_prints_messages_to_stderr 2>&1 # redirect stderr to stdout
..dann direkt stdout
zu /dev/null
in Ihrem Cron-Job - auf diese Weise bringen Sie den lauten Befehl zum Schweigen, ohne Fehlermeldungen zu verlieren