CronJob Mails

FreeBSD, Gentoo, openSUSE, CentOS, Ubuntu, Debian
[nix]pepe
Userprojekt
Userprojekt
Posts: 244
Joined: 2003-04-08 19:36

CronJob Mails

Post by [nix]pepe »

Hi,
jedesmal wenn meine CronJobs durch laufen bekommen ich ne Mail, und da einige stündlich durchlaufen is das auf dauer relativ nervig und erzeugt nur unnützen traffic, kann mir jemand sagen, wie ich das ausstellen kann?

MfG
Pepe

captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten

Re: CronJob Mails

Post by captaincrunch »

Ich poste es auch gerne noch mal ... ;)

Die Lösung ist ganz einfach :
Wenn du einen Cronjob in der Forum
0 0 * * * /pfad/zum/programm
hast, setzt du hinten einfach ein 2>&1 >/dev/null an. Dadurch leitest du die Standardausgabe und die Standardfehlerausgabe nach /dev/null um, und der crond hat nichts mehr, was er dir schicken könnte.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc

[nix]pepe
Userprojekt
Userprojekt
Posts: 244
Joined: 2003-04-08 19:36

Re: CronJob Mails

Post by [nix]pepe »

thx :D

olaf.dietsche
Posts: 401
Joined: 2002-12-19 02:06
Location: Siegburg

Re: CronJob Mails

Post by olaf.dietsche »

CaptainCrunch wrote: Die Lösung ist ganz einfach :
Wenn du einen Cronjob in der Forum
0 0 * * * /pfad/zum/programm
hast, setzt du hinten einfach ein 2>&1 >/dev/null an. Dadurch leitest du die Standardausgabe und die Standardfehlerausgabe nach /dev/null um, und der crond hat nichts mehr, was er dir schicken könnte.
Das muß

Code: Select all

>/dev/null 2>&1
heißen. Sonst wird bei Ausgaben auf stderr immer noch eine mail versendet. Das kann aber auch gewünscht sein, falls normale Ausgaben unterdrückt und die Fehlermeldungen erscheinen sollen.

captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten

Re: CronJob Mails

Post by captaincrunch »

Sonst wird bei Ausgaben auf stderr immer noch eine mail versendet.
Falsch. Auf sämtlichen Shells leitest du erst stderr nach stdout um, damit beide nach /dev/null umgeleitet werden. Die bash handhabt die Stellung etwas sanfter, sofern du aber mal vor einer ksh (z.B.) sitzt, wirst du damit gehörig auf die Nase fallen.
Das kann aber auch gewünscht sein, falls normale Ausgaben unterdrückt und die Fehlermeldungen erscheinen sollen.
Wenn du Fehlermdelungen trotzdem sehen möchtest, leitest du halt nur stdout durch >/dev/null um, deine Variante hat nichts damit zu tun ... ;)
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc

[nix]pepe
Userprojekt
Userprojekt
Posts: 244
Joined: 2003-04-08 19:36

Re: CronJob Mails

Post by [nix]pepe »

also?
was muss ich ejtzt hinten dran hängen, damit mir error ausgaben zugesendet werden alles andere aber nicht???

captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten

Re: CronJob Mails

Post by captaincrunch »

Mach's einfach so, wie ich im ersten Posting vorgeschlagen hatte : häng ein 2>&1 >/dev/null hintendran, und du bekommst keine "störenden" Mails mehr ...
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc

olaf.dietsche
Posts: 401
Joined: 2002-12-19 02:06
Location: Siegburg

Re: CronJob Mails

Post by olaf.dietsche »

CaptainCrunch wrote:
Sonst wird bei Ausgaben auf stderr immer noch eine mail versendet.
Falsch. Auf sämtlichen Shells leitest du erst stderr nach stdout um, damit beide nach /dev/null umgeleitet werden.
Damit liegst du definitiv falsch. Die Umleitung ist ein close() gefolgt von einem dup() und kein Umbiegen in ein gemeinsames Ziel. Teste mal deine Variante.
Mit

Code: Select all

 2>&1 >/dev/null
wird stderr immer noch zu sehen sein, während mit

Code: Select all

>/dev/null 2>&1
stdout und stderr nach /dev/null umgeleitet werden.
Die bash handhabt die Stellung etwas sanfter, sofern du aber mal vor einer ksh (z.B.) sitzt, wirst du damit gehörig auf die Nase fallen.
Ich habe gerade eben beide Varianten mit bash und ksh getestet. Ergebnis: bei 2>&1 >/dev/null wird stderr immer noch ausgegeben, und zwar unabhängig davon, ob ich die bash oder ksh benutze. Das hätte mich auch sehr gewundert, wenn es das eine Mal richtig funktioniert und das andere Mal nicht.

rootmaster
Posts: 483
Joined: 2002-04-28 13:30
Location: Hannover

Re: CronJob Mails

Post by rootmaster »

Code: Select all

2>&1 >/dev/null
(akt.) filedeskriptor stderr -> (akt.) filedeskriptor stdout
(akt.) filedeskriptor stdout -> /dev/null

Code: Select all

>/dev/null 2>&1
(akt.) filedeskriptor stdout -> /dev/null
(akt.) filedeskriptor stderr -> (akt.) filedeskriptor stdout = /dev/null

für letzteres soll übrigens auch "&>/dev/null" funzen ;)

"back to the roots"
Cahn's Axiom:

When all else fails, read the instructions

olaf.dietsche
Posts: 401
Joined: 2002-12-19 02:06
Location: Siegburg

Re: CronJob Mails

Post by olaf.dietsche »

[NIX]Pepe wrote:also?
was muss ich ejtzt hinten dran hängen, damit mir error ausgaben zugesendet werden alles andere aber nicht???
Wenn du gar keine Ausgaben und damit auch keine mails haben möchtest, hängst du ein

Code: Select all

>/dev/null 2>&1
dran.

Wenn du stderr (Fehlermeldungen) sehen möchtest, hängst du entweder

Code: Select all

2>&1 >/dev/null
oder - wie CaptainCrunch im anderen Posting geschrieben hat - einfach nur

Code: Select all

>/dev/null
dran.

[nix]pepe
Userprojekt
Userprojekt
Posts: 244
Joined: 2003-04-08 19:36

Re: CronJob Mails

Post by [nix]pepe »

thx,
genau des wollt ich wissen olaf :D

MfG
Pepe