PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sendmail automatisch starten



Stiftmaster
30.11.02, 11:15
Hallo Leute,
habe sendmail soweit laufen, dass es dann startet, wenn ich in der Konsole den Befehl "sendmail -q" eingebe.
Jetzt möchte ich, dass alle Mails automatisch jede Minute versendet werden (habe DSL und deswegen ist das ja OK wegen den Kosten).
habe jetzt in "crontab -e" folgende Zeile eingetragen:
*/1 * * * * sendmail -q 2>&1 > /dev/null
wenn ich mir jetzt die Logs anschaue: tail -f /var/log/messages
steht dort zwar, dass der Befehl ausgeführt wird
Nov 30 11:14:00 server /USR/SBIN/CRON[8341]: (root) CMD (sendmail -q 2>&1 > /dev/null)
aber wenn ich im Verzeichnis "var/spool/mqueue" nachschaue, sind die Mails noch da.
Hole ich die Mails ab, sind auch noch keine Vorhanden.
ween ich dann den Befehl sendmail -q eingebe und anschließend die Mails abhole, sind sie auch da - weiß jemand einen Rat
ich bin davon überzeugt ;-), dass mein Crontab falsch ist...

Dankend
Stefan

Jasper
30.11.02, 11:43
Original geschrieben von Stiftmaster
habe jetzt in "crontab -e" folgende Zeile eingetragen:
*/1 * * * * sendmail -q 2>&1 > /dev/null
wenn ich mir jetzt die Logs anschaue: tail -f /var/log/messages
steht dort zwar, dass der Befehl ausgeführt wird
Nov 30 11:14:00 server /USR/SBIN/CRON[8341]: (root) CMD (sendmail -q 2>&1 > /dev/null)
aber wenn ich im Verzeichnis "var/spool/mqueue" nachschaue, sind die Mails noch da.
Hole ich die Mails ab, sind auch noch keine Vorhanden.
ween ich dann den Befehl sendmail -q eingebe und anschließend die Mails abhole, sind sie auch da - weiß jemand einen Rat
ich bin davon überzeugt ;-), dass mein Crontab falsch ist...


in crontabs werden keine default-pfade gesetzt, also entweder sendmail mit pfad angeben oder den pfad am anfang der crontab definieren. siehe 'man 5 crontab'.
allerdings kannst du sendmail auch als daemon starten: 'sendmail -bd -q1h' (details siehe 'man sendmail'). dann solltest du allerdings die ports, an denen sendmail lauscht, begrenzen (O DaemonPortOptions in sendmail.cf).

-j

Stiftmaster
30.11.02, 12:15
Hallo, erstmal danke für deine rasche Antwort.
Was ist denn ein default-Pfad?
und du hast gesagt, ich den Pfad angeben soll?
wie denn???
könntest du mir denn den "Befehl" geben, den ich crontab -e eintragen muss.

Dankend
Stefan

Jasper
02.12.02, 09:54
Original geschrieben von Stiftmaster
Was ist denn ein default-Pfad?
und du hast gesagt, ich den Pfad angeben soll?
wie denn???
könntest du mir denn den "Befehl" geben, den ich crontab -e eintragen muss.


wenn du nur 'sendmail' ohne pfad angibst, wird das programm in allen pfaden gesucht, die in $PATH stehen. $PATH ist eine umgebungsvariable. ist $PATH nicht gesetzt, kann das programm nicht gefunden werden.

du hast 2 möglichkeiten:

PATH=/usr/sbin
*/1 * * * * sendmail -q 2>&1 > /dev/null

-ODER_

*/1 * * * * /usr/sbin/sendmail -q 2>&1 > /dev/null

prüfe aber vorher, ob sendmail auch wirklich in /usr/sbin liegt (mit 'which sendmail').

du kannst übrigens */1 durch * ersetzen, da das kleinste zeitintervall bei cron eh eine minute ist und nicht alle crond mit */x klarkommen.

das alles steht auch in 'man 5 crontab'.

-j