Moins, irgendwie krieg ich das nicht auf die Reihe. Seit 10.0 wird fetchmail wohl mittels poll.tcpip aufgerufen. In dieser Datei sind die Befehle drin und ich habe versucht, sie meinen Bedürfnissen anzupassen. die da sind: Wenn der Rechner online ist (dial-on-deamon), dann soll fetchmail alle 180 Sekunden nachschauen. Meine Idle-Zeit liegt bei 57 sec. Wenn der Rechner offline ist, dann soll gar nichts passieren. Wenn ich das recht verstanden habe, dann wird durch sendmail -q auch der fetchmail-deamon gekillt. Aber passiert das auch mit dem script von poll.tcpip? --------------------#Auszug # Do we get mails with fetchmail over pop3/imap? # We support only a system wide configuration # file /etc/fetchmailrc. # while true ; do test -x /usr/bin/fetchmail || break test -r /etc/fetchmailrc || break /usr/bin/fetchmail -v -d 180 -a -f /etc/fetchmailrc # /usr/bin/fetchmail -f /etc/fetchmailrc break done # # Do we get news with fetchnews? # while true ; do test -x /usr/sbin/fetchnews || break test -s /etc/leafnode/config || break test -e /var/lock/news/fetchnews.lck && break /usr/sbin/fetchnews break done # # Let's throw our mails out here. This is done as the last # point to avoid mail loops. # if test -s /etc/sendmail.cf -a -s /etc/mail/submit.cf ; then /usr/sbin/sendmail -L sendmail-client -Ac -q sleep 3 /usr/sbin/sendmail -L sendmail -Am -q else /usr/sbin/sendmail -q fi # Tell system what we're done # /usr/bin/fetchmail -q >>/var/log/fetchmail 2>&1 logger -t poll.tcpip -p mail.notice " Done mail and news send/fetch" # exit 0 -------------- Ich bin kein script-Leser, dass ich das verstehen würde, der befehl sendmail -q steht am Ende da, aber wird er auch ausgeführt? Ich beobachte nur, dass der Rechner sich wieder einwählt und das fetchmail im Offlinebetrieb aktiv ist. Funktioniert denn das script nicht richtig oder suche ich an der verkehrten Stelle? Suse 10.0, alle updates, was vergessen? Danke für eure Tips Christian
Christian Banek, Freitag, 3. Februar 2006 21:20:
Wenn ich das recht verstanden habe, dann wird durch sendmail -q auch der fetchmail-deamon gekillt.
Nö. sendmail -q flusht die Sendmail- bzw. eher die Postfix-Warteschlange, sprich: Mails verden versandt. Mit fetchmail hat das nichts zu tun.
# /usr/bin/fetchmail -q >>/var/log/fetchmail 2>&1 logger -t poll.tcpip -p mail.notice " Done mail and news
Warum ist das auskommentiert? fetchmail -q killt den fetchmail-daemon. Ich habe das Skript nur überflogen, aber vermutlich ist das die Erklärung, warum der daemon bei Dir aktiv bleibt. -- Andre Tann
* Christian Banek wrote on Fri, Feb 03, 2006 at 21:20 +0100:
irgendwie krieg ich das nicht auf die Reihe. Seit 10.0 wird fetchmail wohl mittels poll.tcpip aufgerufen. In dieser Datei sind die Befehle drin und ich habe versucht, sie meinen Bedürfnissen anzupassen. die da sind: Wenn der Rechner online ist (dial-on-deamon), dann soll fetchmail alle 180 Sekunden nachschauen. Meine Idle-Zeit liegt bei 57 sec. Wenn der Rechner offline ist, dann soll gar nichts passieren.
Wenn ich das recht verstanden habe, dann wird durch sendmail -q auch der fetchmail-deamon gekillt. Aber passiert das auch mit dem script von poll.tcpip?
Nein, der poll.tcpip-Mechnismus unterstützt das anscheinend nicht. Ich hab mich sowieso immer gefragt, was das soll. Jetzt (8.2+?) gibt's aber die Möglichkeit, Scripte in /etc/ppp/ip-up.d/ und ip-down.d abzulegen. Ich habe: /etc/ppp/ip-up.d/S50fetchmail.sh =====8<---------------------------------------------------------- BASENAME=`basename $0` INTERFACE=$1 DEVICE=$2 SPEED=$3 LOCALIP=$4 REMOTEIP=$5 LOGGER="/bin/logger -t $BASENAME[$$]" /usr/bin/fetchmail --syslog --daemon 180 \ --interface $INTERFACE/$LOCALIP/255.255.255.255 \ --monitor $INTERFACE --------------------------------------------------------->8====== und link:/etc/ppp/ip-up.d # cat /etc/ppp/ip-down.d/K01fetchmail.sh =====8<---------------------------------------------------------- BASENAME=`basename $0` INTERFACE=$1 DEVICE=$2 SPEED=$3 LOCALIP=$4 REMOTEIP=$5 LOGGER="/bin/logger -t $BASENAME[$$]" /usr/bin/fetchmail --quit | $LOGGER & /usr/bin/killall fetchmail | $LOGGER & --------------------------------------------------------->8====== Letzteres sieht mir nach einem Workaround für irgendein Problem aus ;-) Gehört da eigentlich nicht hin, aber bei mir geht's jedenfalls ;) poll.tcpip (ARGH, darf ich da kein UDP machen?!) hab ich über RUN_POLL_TCPIP=no abgestellt.
while true ; do test -x /usr/bin/fetchmail || break test -r /etc/fetchmailrc || break
/usr/bin/fetchmail -v -d 180 -a -f /etc/fetchmailrc # /usr/bin/fetchmail -f /etc/fetchmailrc break done
(das while true ist nur "GOTO Programmierung" ;))
Ich beobachte nur, dass der Rechner sich wieder einwählt und das fetchmail im Offlinebetrieb aktiv ist. Funktioniert denn das script nicht richtig oder suche ich an der verkehrten Stelle?
verkehrte Stelle, vergiss poll.tcpip einfach am besten ;) Dann musst Du natürlich ein sendmail -q oder so woanders reinschreiben (in's S50fetchmail.sh z.B. bloss dann ist der Name falsch). Ich mache da: link:/etc/ppp # cat /etc/ppp/ip-up.d/S50sendmail.sh =====8<---------------------------------------------------------- BASENAME=`basename $0` INTERFACE=$1 DEVICE=$2 SPEED=$3 LOCALIP=$4 REMOTEIP=$5 LOGGER="/bin/logger -t $BASENAME[$$]" # We couldn't do in poll.tcpip, but now it's time: /usr/sbin/sendmail -q --------------------------------------------------------->8====== Eigentlich ist nur die letzte Zeile wichtig, aber LOGGER etc hab ich in allen Scripts da. (hab auch Postfix, sendmail -q geht trotzdem ;)) oki, Steffen -- Dieses Schreiben wurde maschinell erstellt, es trägt daher weder Unterschrift noch Siegel.
participants (3)
-
Andre Tann
-
Christian Banek
-
Steffen Dettmer