Durch Setzen der Umgebungsvariable "MAILTO" als ""
Etwas wie:
SHELL=/bin/bash MAILTO= 01 * * * * /your/path/to/script/here.sh
Wie kann ich verhindern, dass cron mir die Ergebnisse meiner geplanten Jobs per E-Mail sendet?
Durch Setzen der Umgebungsvariable "MAILTO" als ""
Etwas wie:
SHELL=/bin/bash MAILTO= 01 * * * * /your/path/to/script/here.sh
Wenn Sie möchten, dass ein einzelner Job die E-Mail anhält, hängen Sie einfach> / dev / null 2> & 1 an
Zum Beispiel:
0 * * * * /home/script >/dev/null 2>&1
Cron sendet Ihnen nur eine E-Mail, wenn auf stdout
oder eine Ausgabe erfolgt stderr
.
Wenn Sie ein Skript geschrieben haben, machen Sie es weniger ausführlich - entfernen Sie unnötige Anweisungen 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
..aber das Ignorieren von Fehlermeldungen ist generell eine schlechte Idee! (Woher wissen Sie, wenn der Cronjob kaputt ist?)
Sie können die Ausgabe eines bestimmten Befehls von stderr nach stdout umleiten, 2>&1
beispielsweise:
command_which_prints_messages_to_stderr 2>&1 # redirect stderr to stdout
..then direkt stdout
zu /dev/null
Ihrem Cron - Job - so Sie den lauten Befehl zum Schweigen bringen, ohne Fehlermeldungen zu verlieren