Hallo, soweit ich weiß beendet sich wvdial nicht automatisch. Du müsstest etwa folgendes probieren: 1. wvdial darf die Ausführung Deines Scriptes nicht blockieren also ein & hinter wvdial. 2. jetzt müsste eine Schleife (while) eingebaut werden, die einen ping auf den POP3-Server bei Deinem ISP sendet. Ich habe das früher mal so gelöst. ----schnipp----------------------------------------------------------------- # Warten auf Kontakt zu Internet declare -i n=1 echo -n "verbinde " while [ $n -lt 20 ] ; do n=$[n+1] if [ `ping -c 5 pop.myisp.de 2> /dev/null | grep -c "bytes from"` -gt 0 ] ; then break fi echo -n . done echo " " # Abbruch, wenn keine Verbindung zum Internet möglich if [ $n -eq 20 ]; then /sbin/isdnctrl hangup ippp0 echo Verbindungsaufbau nicht möglich! exit 1 fi -----schnapp----------------------------------------------------------------- Hier wird fünf ping hintereinander gesendet. grep überprüft die Ausgabe von ping. Wenn die Zeichenfolge "bytes from " auftaucht, wird die Schleife abgebrochen. Ich weiß leider nicht mehr, warum ich mich für die fünf pings und den String "bytes from " entschieden habe. Irgendwann hat ein ping nicht mehr funktioniert und ich konnte mit grep nicht mehr die Zeichenfolge "1 packets received" suchen. Wenn die Schleife abgebrochen wird, wird die if-Anweisung übersprungen. Ansonsten wird hier isdnctrl dazu aufgefordert die Verbindung zum ISP zu kappen (war manchmal nötig, wenn zwar die Verbindung stand, aber der Nameserver von meinem ISP oder der Mailserver lahm gelegen ist, was ärgerlicherweise öfter vorkam.) Du müsstest statt der isdnctrl hangup Anweisung Dein "killall wvdial" einbauen. mfg - Norbert On Fri, 19 May 2000, Clemens Wohld wrote:
On Wed, May 17, 2000 at 09:34:43AM +0200, Andy Feile wrote:
wie kann ich es denn anstellen, daß sich Linux automatisch einwählt, Mails holt, verschickt, und wieder auswählt?
Mit einem Skript wie etwa
Diesem.....(quick&dirty ;) #!/bin/sh # script zum Mail holen # # online gehen wvdial # mails fetchen fetchmail -v # mails senden sendmail -q -v # online killen killall wvdial
geht das nicht, weil wvdial das Skript solange aufhält, bis man die Verbindung händisch wieder unterbrochen hat, und somit die letzten drei Zeilen nicht zur Ausführung kommen.
Sollte eigentlich aber gehen, weil die Befehle nacheinander abgearbeitet werden. Wäre ein & hinter einem der Befehle, so würde es im Hintergrund gestartet werden (subshell) und bevor man sich versieht ist killall schon am Zug.
Wie macht man das besser?
Indem man sich mal ein Buch über shellprogrammierung zulegt, oder Online was besorgt.
Sieh mal auf meiner Link-sammlung, da ist einiges über das Programmieren gelinkt. Ob shell, perl oder C (++).
Zu finden unter: www.ndh.net/home/wohld/index.html.....dort Xlinks anwählen!
C. Köhntopp ist eine "Reise" Wert ;)
Gruß, Clemens -- sig_05 Du weisst nicht ob deine Hardware von Linux unterstuetzt wird? Schau nach ;-) Linux-Hardware-Datenbank: www.linuxbbs.org X-Page: http://www.ndh.net/home/wohld/index.html -------------------------------------------------
--------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
--------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com