* 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.