Mailinglist Archive: opensuse-de (4938 mails)

< Previous Next >
Re: Mail-hol-Skript
  • From: nrae@xxxxxxxxx (Norbert Raebiger)
  • Date: Sun May 21 06:45:13 2000
  • Message-id: <Pine.LNX.4.21.0005210832500.922-100000@xxxxxxxxxxxxxxx>



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@xxxxxxxx
For additional commands, e-mail: suse-linux-help@xxxxxxxx


---------------------------------------------------------------------
To unsubscribe, e-mail: suse-linux-unsubscribe@xxxxxxxx
For additional commands, e-mail: suse-linux-help@xxxxxxxx

< Previous Next >
Follow Ups
References