"unerwünschte" Root-Mails beim ausführen einer Datei

Lord_Icon

Member
Moin,

ich habe ein altes Programm wieder zum laufen gebracht, was leider mit iconcube verschlüsselt ist.

Das Problem dabei ist, das ich ein Cron anlegen muß, damit dieses Programm minütlich unter anderen die Statistik zusammenrechnet und aktualisiert (und noch andere Dinge vornimmt).

Nun erhalte ich leider jede Minute folgende Meldung:
sh: postmap: command not found
sh: apache2: command not found
sh: iptables: command not found

ALLE 3 Programme sind aber installiert und auch von jeden Pfad aus ausführbar.

Im Cron selbst habe ich die Aussgabe schon auf /dev/null weitergeleitet... aber für ERRORs scheint das wohl ignoriert zu werden.
Code:
*/1  * * * *  /root/start reload  > /dev/null

Das Programm selbst funktiniert aber einwandfrei. Änderungen, die den Apachen und der Firewall betreffen, werden sauber umgesetzt.

Da das Programm verschlüsselt ist, habe ich aber keinen Einblick in den Ablauf der Datei. Kann also nicht sagen, was da genau passiert.
Und die Herstellerfirma gibt es schon seit 5-7 Jahren nicht mehr.

Frage ist nun: Wie kann ich Script dennoch nutzen, ohne das ich jede Minute mit einer Mail zugeballert werde, aber root-Mails dennoch errhalte. (Halt nur noch von diesen Script / Cron )

THX
 
Warnungen und Fehler unterdrücken ist eine ganz schlechte Idee.

ALLE 3 Programme sind aber installiert und auch von jeden Pfad aus ausführbar.
$PATH ist in der Umgebung, die crond bereitstellt, normalerweise nicht oder nur unzureichend gesetzt. Setze eine entsprechende Umgebungsvariable innerhalb deiner crontab.

Im Cron selbst habe ich die Aussgabe schon auf /dev/null weitergeleitet... aber für ERRORs scheint das wohl ignoriert zu werden.
Ja, das liegt daran, dass die Meldungen über stderr und nicht stdout kommen. "2>&1 >/dev/null" sollte es tun, ist aber wie schon erwähnt keine gute Idee. Alternativ kannst du auch einfach $MAILTO auf eine leere Zeichenkette setzen.

Da das Programm verschlüsselt ist, habe ich aber keinen Einblick in den Ablauf der Datei. Kann also nicht sagen, was da genau passiert.
Und die Herstellerfirma gibt es schon seit 5-7 Jahren nicht mehr.
Bei diesen Voraussetzungen will man das Programm nicht mehr einsetzen.
 
$PATH ist in der Umgebung, die crond bereitstellt, normalerweise nicht oder nur unzureichend gesetzt. Setze eine entsprechende Umgebungsvariable innerhalb deiner crontab.

Was ?

Was kann ich den hier noch an Pfade "richtiger" setzen ?
Code:
*/1  * * * *  /root/start reload  2>&1 >/dev/null
Wie du siehst habe ich jetzt schon (gemäß deines Vorschlags) mit 2>&1 alles an /null übergeben. Leider klappt das nicht. Bekommt trotzdem munter Emails.


Bei diesen Voraussetzungen will man das Programm nicht mehr einsetzen.
Das eine hat nichts mit den anderen zu tun.
Beispiel: Du brauchst dringend ein Auto. Zur Verfügung steht dir (ohne weitere Kosten zu verursachen) ein Trabbi. Der fährt auch wunderbar und macht alles, was du benötigst.
Laut deiner Aussage, würdest du das Auto nicht fahren wollen, weil der Hersteller schon seit x-Jahren nicht mehr zur Verfügung steht ?
 
Was kann ich den hier noch an Pfade "richtiger" setzen ?
Die gesamte $PATH Umgebungsvariable mit allen Pfaden, in denen die Programme liegen, die dein Skript benötigt.

Wie du siehst habe ich jetzt schon (gemäß deines Vorschlags) mit 2>&1 alles an /null übergeben. Leider klappt das nicht. Bekommt trotzdem munter Emails.
Dann leite eben alle Ausgabeströme um ("&>", BASH Programming - Introduction HOW-TO: All about redirection) oder setze $MAILTO entsprechend. Kann doch nicht so schwer sein...

Das eine hat nichts mit den anderen zu tun.
Autos haben eine wesentlich längere Halbwertszeit als Programme in der IT. Das sollte dir bekannt sein mit "3 eig. Server + Equipment".

Aber um deine Metapher passender zu gestalten:
Die Motorhaube des Trabis ist verschweißt, das Auto verliert Öl und zieht eine Benzinspur nach sich. Die Bremsen tun gerade noch so, aber man weiß nicht, ob sie noch zu einer Vollbremsung fähig sind oder an einem Abhang funktionieren.
Das würde ich nicht mehr fahren wollen.
 
Back
Top