![]() |
|
Linux - Wegweiser für NetzwerkerOnline-VersionCopyright © 2001
by O'Reilly Verlag GmbH & Co.KG Bitte denken Sie daran: Sie dürfen zwar die Online-Version ausdrucken, aber diesen Druck nicht fotokopieren oder verkaufen. Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen. Wünschen Sie mehr Informationen zu der gedruckten Version des Buches Linux - Wegweiser für Netzwerker oder wollen Sie es bestellen, dann klicken Sie bitte hier. |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Es gibt eine Reihe von Möglichkeiten, die Sie wahrnehmen können, um die Verwaltung eines sendmail-Systems effizient zu gestalten. Im sendmail-Paket sind mehrere Management-Tools zur Verfügung gestellt. Hier werfen wir einen Blick auf die wichtigsten von ihnen.
Mails werden vor ihrer Übertragung im Verzeichnis /var/spool/mqueue zwischengespeichert (gespoolt). Dieses Verzeichnis wird als Mail-Spool-Verzeichnis (engl. mail spool) bezeichnet. Das sendmail-Programm ermöglicht es, eine formatierte Liste aller gespoolten Mail-Nachrichten nebst ihrem Zustand anzuzeigen.
/usr/bin/mailq ist ein symbolischer Link auf das ausführbare sendmail-Programm und verhält sich identisch zu:
#
Die Ausgabe zeigt die Mail-ID, die Größe, den Zeitpunkt, zu dem die Mail in die Warteschlange aufgenommen wurde, den Absender sowie eine Meldung über den aktuellen Zustand. Das folgende Beispiel zeigt eine Mail-Nachricht, die aufgrund eines Problems in der Warteschlange festsitzt.
sendmail -bp
$
Diese Nachricht befindet sich noch in der Warteschlange, da die IP-Adresse des Zielhosts nicht ermittelt werden konnte.
mailq
Mail Queue (1 request) --Q-ID-- --Size-- -----Q-Time----- ------------Sender/Recipient------------ RAA00275 124 Wed Dec 9 17:47 root (host map: lookup (tao.linux.org.au): deferred) terry@tao.linux.org.au
Wir können nun sendmail dazu bringen, die Warteschlange abzuarbeiten, indem wir den /usr/bin/runq-Befehl ausführen.
Der runq-Befehl erzeugt keine Ausgaben. sendmail führt die Abarbeitung der Warteschlange im Hintergrund durch.
Wenn Sie eine temporäre Dialup-Internetverbindung mit einer festen IP-Adresse benutzen und Ihre Mails von einem MX-Host sammeln lassen, wenn Sie offline sind, werden Sie es sicher nützlich finden, wenn Sie den MX-Host dazu bringen könnten, seine Mail-Warteschlange direkt nach dem Aufbau der Verbindung abzuarbeiten.
In der sendmail-Distribution ist ein kleines Perl-Programm enthalten, das dies für Mail-Hosts, die es unterstützen, ganz leicht macht. Das etrn-Skript hat nahezu denselben Effekt auf einen Remote-Host wie runq auf unserem eigenen Host. Wenn wir das Programm wie im folgenden Beispiel aufrufen
#
weisen wir den Host vstout.vbrew.com an, alle für unsere lokale Maschine aufgelaufenen Mails abzuarbeiten.
etrn vstout.vbrew.com
Normalerweise würden Sie diesen Befehl in Ihr PPP-Skript ip-up einfügen, damit es umgehend gestartet wird, sobald Ihre Netzwerkverbindung hergestellt ist.
sendmail sammelt auch Daten über den Mail-Traffic sowie Informationen über Hosts, denen es Mails zugestellt hat. Zur Ausgabe dieser Informationen gibt es zwei Befehle: mailstats und hoststat.
Der Befehl mailstats zeigt Statistiken über den Umfang der Mails, die von sendmail verarbeitet wurden. Zuerst wird die Zeit angegeben, zu der die Datensammlung begann. Danach folgt eine Tabelle, in der für jeden konfigurierten Mailer eine Zeile eingetragen ist, gefolgt von einer abschließenden Zeile mit einer Summe über den gesamten Datenverkehr. Jede Zeile enthält acht Einträge mit Informationen:
Feld
Bedeutung
M
Die Mailer-(Transportprotokoll-)Nummer
msgsfr
Die Anzahl der von diesem Mailer empfangenen Nachrichten
bytes_from
Der Umfang der Mails von diesem Mailer (in KByte)
msgsto
Die Anzahl der zum Mailer gesendeten Nachrichten
bytes_to
Der Umfang der an diesen Mailer gesendeten Mails (in KByte)
msgsreg
Die Anzahl der abgewiesenen Nachrichten
msgsdis
Die Anzahl der ausgesonderten Nachrichten
Mailer
Der Name des Mailers
Eine Beispielausgabe des mailstats-Befehls zeigt Tabelle 18.5.
Beispiel 18.5: Beispielausgabe des mailstats-Befehls
#
/usr/sbin/mailstats
Statistics from Sun Dec 20 22:47:02 1998 M msgsfr bytes_from msgsto bytes_to msgsrej msgsdis Mailer 0 0 0K 19 515K 0 0 prog 3 33 545K 0 0K 0 0 local 5 88 972K 139 1018K 0 0 esmtp ============================================================= T 121 1517K 158 1533K 0 0
Diese Daten werden gesammelt, falls die Option StatusFile in der Datei sendmail.cf aktiviert ist und die Zustandsdatei existiert. Normalerweise fügen Sie das folgende in Ihre sendmail.cf ein:
# Statusdatei O StatusFile=/var/log/sendmail.st
Um mit einer neuen Statistik zu beginnen, müssen Sie die Länge der Statistikdatei auf null setzen
> /var/log/sendmail.st
und sendmail neu starten.
Der Befehl hoststat zeigt Informationen über den Zustand von Hosts an, denen sendmail Mails zuzustellen versuchte. Der Aufruf von hoststat hat denselben Effekt wie:
sendmail -bh
In der Ausgabe erscheint für jeden Host eine eigene Zeile und für jeden die verstrichene Zeit seit dem letzten Zustellungsversuch sowie die zu diesem Zeitpunkt erhaltene Zustandsmeldung.
Tabelle 18.6 zeigt die Ausgabearten, die Sie vom hoststat-Befehl erwarten können. Beachten Sie, daß die meisten Resultate auf eine korrekte Zustellung hinweisen. Das Resultat für earthlink.net dagegen zeigt an, daß die Zustellung nicht funktioniert hat. Manchmal gibt die Zustandsmeldung einen Hinweis auf die Ursache des Fehlers. Im vorliegenden Fall trat ein Timeout in der Verbindung auf, vermutlich weil der Host gerade nicht am Netz oder sonstwie unerreichbar war, als die Mail zugestellt werden sollte.
Beispiel 18.6: Beispielausgabe des hoststat-Befehls
#
hoststat
-------------- Hostname ---------- How long ago ---------Results--------- mail.telstra.com.au 04:05:41 250 Message accepted for scooter.eye-net.com.au 81+08:32:42 250 OK id=0zTGai-0008S9-0 yarrina.connect.com.a 53+10:46:03 250 LAA09163 Message acce happy.optus.com.au 55+03:34:40 250 Mail accepted mail.zip.com.au 04:05:33 250 RAA23904 Message acce kwanon.research.canon.com.au 44+04:39:10 250 ok 911542267 qp 21186 linux.org.au 83+10:04:11 250 IAA31139 Message acce albert.aapra.org.au 00:00:12 250 VAA21968 Message acce field.medicine.adelaide.edu.au 53+10:46:03 250 ok 910742814 qp 721 copper.fuller.net 65+12:38:00 250 OAA14470 Message acce amsat.org 5+06:49:21 250 UAA07526 Message acce mail.acm.org 53+10:46:17 250 TAA25012 Message acce extmail.bigpond.com 11+04:06:20 250 ok earthlink.net 45+05:41:09 Deferred: Connection time
Der Befehl purgestat entfernt die angesammelten Hostdaten. Er ist äquivalent zu folgendem sendmail-Aufruf:
#
sendmail -bH
Die Statistiken werden immer umfangreicher, bis Sie sie mit purgestat wegräumen. Sie können diesen Befehl gelegentlich selbst manuell starten oder regelmäßig automatisch ausführen lassen, indem Sie ihn in eine crontab-Datei eintragen. Die Säuberung der Statistiken führt besonders in ausgelasteten Systemen dazu, daß zum Beispiel das Durchsuchen der Statistiken deutlich schneller vor sich geht.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Weitere Informationen zum Linux - Wegweiser für Netzwerker
Weitere Online-Bücher & Probekapitel finden Sie in unserem Online Book Center
© 2001, O'Reilly Verlag