sendmail aus cron aufrufen / Fehler
Hi, habe noch ein weiteres Prob entdeckt. Wieso gibt es jetzt Fehler wenn ich "sendmail -q -v >> /var/log/sendmail.cron" aus der crontab aufrufe. Der gleiche Aufruf funktionierte ja mit dem alten sendmail. Und wenn ich "sendmail -q -v >> /var/log/sendmail.cron" so von der Konsole aus aufrufe gibt es auch keinen Fehler. Eben nur beim Aufruf von Cron. Crontab beinhaltet folgende Zeile: */15 * * * * root sendmail -q -v >> /var/log/sendmail.cron und der output im syslog ist folgender: ================================================== Nov 8 12:45:00 intranet /USR/SBIN/CRON[5289]: (root) CMD ( sendmail -q -v
/v ar/log/sendmail.cron) Nov 8 12:45:00 intranet /USR/SBIN/CRON[5290]: (root) CMD ( test -x /usr/lib/cro n/run-crons && /usr/lib/cron/run-crons ) Nov 8 12:45:00 intranet sendmail[5291]: SYSERR(root): File descriptors missing on startup: stdin: Bad file descriptor Nov 8 12:45:00 intranet sendmail[5291]: NOQUEUE: 0: fl=0x0, mode=20666: CHR: dev=3/1, ino=2551, nlink=1, u/gid=0/0, size=0 Nov 8 12:45:00 intranet sendmail[5291]: NOQUEUE: 1: fl=0x8401, mode=100644: d ev=3/1, ino=10928, nlink=1, u/gid=0/0, size=132 Nov 8 12:45:00 intranet sendmail[5291]: NOQUEUE: 2: fl=0x1, mode=10600: FIFO: dev=0/6, ino=719505, nlink=1, u/gid=0/0, size=0 Nov 8 12:45:00 intranet sendmail[5291]: NOQUEUE: 3: fl=0x2, mode=140777: SOCK localhost->[[UNIX: /dev/log]] ==================================================
Was mich daran wundert ist die dritte Zeile SYSERR(root) File descriptors missing... Naja Frage ist jetzt auf jeden Fall wieso geht das nicht mehr? cu, Michael
On Thu, Nov 08, 2001 at 12:47:26PM +0100, Michael Jakscht wrote:
Crontab beinhaltet folgende Zeile: */15 * * * * root sendmail -q -v >> /var/log/sendmail.cron
und der output im syslog ist folgender: Nov 8 12:45:00 intranet sendmail[5291]: SYSERR(root): \ File descriptors missing on startup: stdin: Bad file descriptor
Was mich daran wundert ist die dritte Zeile SYSERR(root) File descriptors missing...
Also Unix-Kommandos haben normalerweise 3 Standardein- bzw. ausgabemoeglichkeiten: stdin stdout stderr stdout enthaelt die normale Programmausgabe, welche du mit >> umgeleitet hast. stderr koennte man mit 2>> umleiten, dort sollte das Programm seine Fehler ausgeben. Wenn man stderr bei einem Croneintrag nicht umleitet, erhaelt man vom cron eine Mail, falls was schiefgegangen ist und das Programm etwas ausgab - sehr angenehm. stdin ist die Eingabemoeglichkeit. Du koenntest probieren, ob eine Umleiten mit '< /dev/null' dein Problem behebt. Ich habe die Frage, ob deine Loesung wirklich so geschickt ist. Dem sendmail kann man auch sagen, das er sich selbstaendig um die Leerung seines Queues kuemmert. Oder diesen Aufruf in die ip-up/ip-down Skripte einbauen. Peter
Hi! Peter Wiersig [mailto:wiersig-ml@dns.glamus.de] schrieb:
Ich habe die Frage, ob deine Loesung wirklich so geschickt ist. Dem sendmail kann man auch sagen, das er sich selbstaendig um die Leerung seines Queues kuemmert. Oder diesen Aufruf in die ip-up/ip-down Skripte einbauen.
Yep,no prob, da sendmail -q auch in ip-up.local drin ist (nach einem fetchmail) Dieses viertelstündliche Verteilen ist dafür gut, dass wenn ich eine Mail an meinen internen Server schicke diese innerhalb der nächsten viertelstunde rausgeht und wenn intern eine mail verschickt wird das diese auch spätestens ne viertelstunde später da ist. Michael
On Thu, Nov 08, 2001 at 01:53:32PM +0100, Michael Jakscht wrote:
Dieses viertelstündliche Verteilen ist dafür gut, dass wenn ich eine Mail an meinen internen Server schicke diese innerhalb der nächsten viertelstunde rausgeht und wenn intern eine mail verschickt wird das diese auch spätestens ne viertelstunde später da ist.
Ich habe die Frage, ob deine Loesung wirklich so geschickt ist. Dem sendmail kann man auch sagen, das er sich selbstaendig um die Leerung seines Queues kuemmert.
Bei deiner SuSE hilft dann der Parameter SENDMAIL_ARGS="-q15m" in der /etc/rc.config, bzw erweitere den vorhandenen Eintrag um diesen Paramter. Ausserdem muss SMTP=yes drinstehen, damit die Bootskripte den sendmail starten. Ist aber in meinen Augen besser als ein crontab Eintrag. Peter
Hi, Peter Wiersig [mailto:wiersig-ml@dns.glamus.de] schrieb:
Bei deiner SuSE hilft dann der Parameter SENDMAIL_ARGS="-q15m" in der /etc/rc.config, bzw erweitere den vorhandenen Eintrag um diesen Paramter. Ausserdem muss SMTP=yes drinstehen, damit die Bootskripte den sendmail starten.
Ist aber in meinen Augen besser als ein crontab Eintrag.
Hmm, gut, das rührte bei mir eben noch aus den "Anfangszeiten". Mal sehen, vielleicht stelle ich das bei Gelegenheit um. Michael
participants (2)
-
Michael Jakscht
-
Peter Wiersig