Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

keine mail von cron - trotz fehler

Alles rund um die verschiedenen Konsolen und shells sowie die Programmierung unter Linux

Moderator: Moderatoren

Antworten
buntspecht
Newbie
Newbie
Beiträge: 10
Registriert: 1. Aug 2005, 13:33

keine mail von cron - trotz fehler

Beitrag von buntspecht »

hallo,
ich weiß, dass man mit

Code: Alles auswählen

 2>&1
am ende der zeile sagen kann, dass cron keine mails verschickt. aber wie kann ich es bewirken, dass er auch keine schickt, wenn es einen fehler gibt?
buntspecht
Newbie
Newbie
Beiträge: 10
Registriert: 1. Aug 2005, 13:33

Beitrag von buntspecht »

vielleicht konnte ich mir die frage gerade selbst beantworten:

Code: Alles auswählen

>/dev/null 2>&1

???
Benutzeravatar
regexer
Advanced Hacker
Advanced Hacker
Beiträge: 1005
Registriert: 3. Dez 2004, 09:29
Wohnort: $_

Beitrag von regexer »

buntspecht hat geschrieben:

Code: Alles auswählen

>/dev/null 2>&1
So isses! Natürlich kann man sowohl STDOUT als auch STDERR in eine Datei umleiten. Dann kriegt man auch keine Mail...
Benutzeravatar
TeXpert
Guru
Guru
Beiträge: 2166
Registriert: 17. Jan 2005, 11:22

Beitrag von TeXpert »

das ist IMHO aber ungeschickt ;) denn Fehler möchte man idr ja wissen...

wenn das Programm auch bei richtigem Ablauf eine Nachricht ausgibt, die Du normalerweise nicht haben willst, dann lass es mit einem Wrapper-Script laufen und teste da, ob alles so läuft wie geplant, wenn nicht dann eine Fehlermeldung generieren...

Code: Alles auswählen

# to resolve all your problems, try this:
HOWTO='pack c5,41*2,sqrt 7056,unpack(c,H)-2,oct 115' && perl -le "print $HOWTO"
Ich beantworte keine Supportfragen per PM!
Benutzeravatar
haveaniceday
Hacker
Hacker
Beiträge: 775
Registriert: 7. Jul 2004, 14:09
Wohnort: Paderborn

Beitrag von haveaniceday »

Und so solltest du nur Fehler bekommen:

Code: Alles auswählen

2>&1 >/dev/null
Folgendes Beispiel kann man zum Probieren benutzen: ( ls gibt nicht existente sachen auf "stderr" alias "2" aus )

Code: Alles auswählen

# nur Fehlermeldungen
ls -l ichexistierenicht  /etc/passwd  2>&1 >/dev/null
# alles weg
ls -l ichexistierenicht  /etc/passwd >/dev/null  2>&1
# keine Fehlermeldungen
ls -l ichexistierenicht  /etc/passwd 2>/dev/null 
In Skripten schreibe ich meine Fehlermeldungen in der Regel per:

Code: Alles auswählen

echo "Fehler...." 1>&2
Damit gehen meine Fehlermeldungen nicht unbedingt in einer Pipe "unter".

Viele Grüße,

Haveaniceday
Antworten