|
Die automatische Erledigung von News und E-Mail ist unter Linux ziemlich leicht einzurichten.
Als Allererstes sollte man die Datei /usr/lib/ppp/ppp-on
erstellen,
die die Verbindung zum ISP herstellt. Oft enthält diese Datei nur
folgendes:
/usr/sbin/pppd
Weitere Angaben stehen in der Datei /etc/ppp/options
:
connect "/usr/lib/ppp/chat -v -f /etc/ppp/chatscript"
crtscts
modem
defaultroute
asyncmap 00000000
user dirk
/dev/modem 38400
Um die Verbindung zu beenden, benutzt man die mitgelieferte Version
von /usr/lib/ppp/ppp-off
.
Hat man überprüft, daß diese zwei Skripte funktionieren, dann muß man
sich Skripte schreiben, die die verschiedenen Aufgaben erledigen. Das
Skript, das E-Mail holt, wurde schon beschrieben und es wird
angenommen, daß es als /home/dirk/pop
gespeichert ist.
Ein Skript für den Austausch von E-Mail kann dann als
Datei /root/mail
so aussehen:
#! /bin/sh
#
# E-Mail - Austausch
# timeout von 10 Minuten:
TIMEOUT=600
DT=10
# sendmail anwerfen:
sendmail -q &
# Post holen:
su dirk -c /home/dirk/pop
# warten, bis sendmail fertig ist:
t=0
while ! mailq | grep -q "Mail queue is empty"; do
t=$[$t+$DT]
if [ $t -gt $TIMEOUT ] ; then
echo "sendmail -q timeout ($TIMEOUT).."
exit 1
fi
sleep $DT
done
exit 0
Das Skript zum Austausch von News kann als Datei /usr/lib/news/news
abgelegt werden:
#!/bin/sh
#
# News - Austausch
# muß als Benutzer news gestartet werden
cd /usr/lib/news
# ausgehende Nachrichten sammeln (C News):
/usr/lib/newsbin/input/newsrun < /dev/null
# News austauschen:
/usr/lib/newsbin/newsx acme news.acme.net
# und die eingehenden Nachrichten intern übergeben:
/usr/lib/newsbin/input/newsrun < /dev/null
Es fehlt noch ein Skript, daß die einzelnen Teile verbinden. Es kann
als Datei /root/news+mail
gespeichert werden:
#!/bin/sh
#
# Austausch von News und E-Mail
# muß als Benutzer root gestartet werden
#
if ! /usr/lib/ppp/ppp-on; then
exit 1
fi
trap "/usr/lib/ppp/ppp-off" 1 2 3 15
# News und E-Mail austauschen:
/root/mail &
su news -c ~news/news
wait
# aufhängen..
/usr/lib/ppp/ppp-off
# eingehende Nachrichten intern übergeben (C News):
su news -c /usr/lib/newsbin/input/newsrun < /dev/null &
exit 0
Es ist ziemlich einfach, eine Erweiterung zum obigen Skript zu
erstellen, so daß nur dann eine Verbindung hergestellt wird, wenn es
ausgehende E-Mail und News gibt. Nennen wir es
/root/news+mail.cond
und beachten, daß der Name des
ausgehenden News-Spools angepaßt werden muß:
#!/bin/sh
#
# Austausch von News und Email, wenn ausgehende News oder
# E-Mail vorhanden sind.
# (C News Spool)
if [ -s /var/spool/news/out.going/acme/togo ] ||
! ( mailq | grep -q "Mail queue is empty"); then
/root/news+mail
fi
Bleibt noch übrig, anzugeben, wann das alles passiert. Dazu führt man
als root den Befehl crontab -e
aus. Nehmen wir an, wir
wollen den Austausch von News und E-Mail morgens um 7 Uhr durchführen
und dann jede vierte Stunde, wenn es ausgehende E-Mail und News gibt:
00 7 * * * /root/news+mail
00 11,15,19,23 * * * /root/news+mail.cond
Man sollte sich versichern, daß alle Teile durchprobiert sind, bevor
man sie verbindet. Später kann man dann weitere Aufgaben hinzufügen,
wie das Stellen der Uhr über ntpdate
und das automatische
Aktualisieren von lokal geführten WWW- und FTP-Dateien beim
ISP.
Wenn man es bevorzugt, kann man das Verfahren auch
umdrehen. Sobald eine PPP-Verbindung hergestellt wird, wird das Skript
/etc/ppp/ip-up
ausgeführt. Hier kann man alles
hineinschreiben, was man braucht, um den Austausch von E-Mail und News
durchzuführen. Weitere Details finden sich in man pppd
.
Es ist auch möglich, PPP-Verbindungen automatisch aufbauen zu lassen, sobald Daten über das Netz gehen. Dies ist in vieler Hinsicht eine elegantere Lösung, hängt aber sehr von einer guten Konfiguration ab, damit nicht zu viele und damit teure Verbindungen hergestellt werden. Weitere Informationen findet man in:
http://www.dna.lth.se/~erics/diald.html
Das Programm diald
ist hier erhältlich:
metalab.unc.edu:/pub/Linux/system/network/serial/
Am gleichen Ort findet man auch weitere Variationen zum Thema PPP-Verbindungen.
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 17:56:56