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