Im Katalog suchen

Linux - Wegweiser für Netzwerker

Online-Version

Copyright © 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.


vorheriges Kapitel Inhaltsverzeichnis Stichwortverzeichnis nächstes Kapitel



Stapelverarbeitung von Artikeln (Batching)

News-Batches verwenden ein bestimmtes Format, das für B News, C News und INN identisch ist. Jedem Artikel wird eine Zeile wie die folgende vorangestellt:

#! rnews anzahl

anzahl bezeichnet die Anzahl Bytes in diesem Artikel. Bei Batch-Komprimierung wird die Datei als Ganzes komprimiert und eine weitere Zeile vorangestellt, die angibt, welches Programm zum Entpacken verwendet werden soll. Das Standard-Komprimierungs-Tool ist compress, was durch folgende Zeile gekennzeichnet wird:

#! cunbatch

Manchmal, wenn Batches über E-Mail-Software übertragen werden, die das achte Bit von allen Daten entfernt, wird ein komprimierter Batch durch die sogenannte c7-Codierung geschützt. Diese Batches sind durch c7unbatch markiert.

Wird ein Batch an rnews auf einem anderen System übergeben, werden diese Markierungen geprüft, und der Stapel wird entsprechend korrekt verarbeitet. Manche Systeme verwenden auch andere Kompressions-Tools wie gzip und stellen den so komprimierten Daten zunbatch voran. C News kann mit solchen Headern nicht umgehen, da diese dem Standard nicht entsprechen. Sie müssen die Quelltexte entsprechend modifizieren, um sie zu unterstützen.

Bei C News wird der Batch-Betrieb über /usr/lib/news/batch/sendbatches abgewickelt. Dabei wird eine Liste von Artikeln aus der Datei site/togo gelesen, aus denen dann mehrere News-Batches erzeugt werden. Der Befehl sollte einmal in der Stunde oder sogar noch häufiger ausgeführt werden, wenn Sie ein hohes Datenaufkommen haben. Kontrolliert wird der Batch-Betrieb über die Datei batchparms in /var/lib/news. Diese Datei beschreibt die maximal erlaubte Batch-Größe für jedes System, das zur Stapelverarbeitung und optional zur Komprimierung zu verwendende Programm sowie die zur Auslieferung zu benutzende Transportart. Sie können Batch-Parameter für jedes einzelne System einstellen, aber auch Standardwerte für Systeme vorgeben, die nicht explizit aufgeführt sind.

Wenn Sie C News installieren, finden Sie höchstwahrscheinlich eine Version von batchparms in Ihrer Distribution, die einen sinnvollen Standardeintrag enthält, so daß gute Aussichten bestehen, daß Sie diese Datei gar nicht anfassen müssen. Falls Sie es doch tun müssen, beschreiben wir das Format dieser Datei. Jede Zeile besteht aus sechs Feldern, die durch Leerzeichen oder Tabulatoren voneinander getrennt sind:

site größe max batcher muncher transport

site

site ist der Name des Systems, für das dieser Eintrag gilt. Die Datei togo für dieses System muß in out.going/togo im Spool-Verzeichnis zu finden sein. Der Systemname /default/ bezeichnet den Standardeintrag und steht für alle Systeme, die nicht direkt mit einem eindeutigen Eintrag spezifiziert sind.

größe

größe ist die maximale Größe von erzeugten Artikel-Batches (vor der Komprimierung). Bei einzelnen Artikeln, die größer als dieser Wert sind, macht C News eine Ausnahme und erzeugt einen einzelnen Batch.

max

max enthält die maximale Anzahl der erzeugten und zum Transfer ausgewiesenen Batches, bevor der Batch-Betrieb für dieses System vorübergehend eingestellt wird. Das ist dann sinnvoll, wenn ein anderes System für lange Zeit heruntergefahren sein sollte, weil auf diese Weise verhindert wird, daß C News Ihre UUCP-Spool-Verzeichnisse mit Abermillionen von News-Batches übersät.

C News ermittelt die Anzahl wartender Batches über das queulen-Skript in /usr/lib/news/. Falls Sie C News in einer vorgefertigten Form installiert haben, sollten im Skript keinerlei Änderungen erforderlich sein. Wenn Sie jedoch mit einer anderen Art von Spool-Verzeichnissen arbeiten, beispielsweise bei Taylor UUCP, müssen Sie Ihr eigenes Skript schreiben. Wenn Sie die Anzahl der Spool-Verzeichnisse nicht interessiert (weil Sie die einzige Person sind, die diesen Computer benutzt, und weil Sie keine megabytegroßen Artikel verfassen), können Sie das Skript einfach auf den Eintrag exit 0 reduzieren.

batcher

Das Feld batcher enthält den Befehl, der verwendet wird, um aus der Liste von Artikeln in der togo-Datei einen Batch zu erzeugen. Bei normalen Feeds ist dies üblicherweise batcher. Für andere Zwecke können alternative Batcher verwendet werden. Beispielsweise verlangt das ihave/sendme-Protokoll, daß die Artikelliste in ihave- oder sendme-Control-Messages umgewandelt wird, die in die Newsgruppe to.site gepostet werden. Dies wird durch batchih und batchsm erledigt.

muncher

Das Feld muncher enthält den Befehl, der zur Komprimierung verwendet wird. Üblicherweise ist dies compcun, ein Skript, das einen komprimierten Batch erzeugt.1 Alternativ könnten Sie auch ein Skript verwenden, das gzip verwendet, beispielsweise gzipcun (um es deutlich zu sagen: Sie müssen es selbst schreiben). Sie müssen sicherstellen, daß uncompress auf dem anderen Rechner so gepatcht ist, daß es mit gzip komprimierte Dateien erkennt.

Falls das andere System nicht über einen uncompress-Befehl verfügt, können Sie nocomp angeben. In diesem Fall wird keine Komprimierung durchgeführt.

transport

Das letzte Feld, transport, beschreibt die zu verwendende Transportart. Eine Reihe von Standardbefehlen, deren Namen mit via beginnen, steht für verschiedene Transportarten bereit. sendbatches übergibt ihnen den Namen des Zielsystems in der Kommandozeile. Falls der batchparams-Eintrag nicht /default/ lautet, leitet sendbatches den Systemnamen aus dem site-Feld ab, indem es alle Zeichen ab dem ersten Punkt oder Schrägstrich abschneidet. Beim Eintrag /default/ werden statt dessen die Verzeichnisnamen aus out.going verwendet.

Um die Stapelverarbeitung für ein bestimmtes System durchzuführen, müssen Sie den folgenden Befehl verwenden:

# su news -c "/usr/lib/news/batch/sendbatches site"

Ohne Angabe von Argumenten verarbeitet sendbatches alle Batch-Queues. Wie das Wort “alle” interpretiert wird, hängt von der Präsenz eines Standardeintrags in batchparms ab. Ist einer vorhanden, werden alle Verzeichnisse in /var/spool/news/out.going geprüft. Andernfalls arbeitet es sich durch alle Einträge der batchparms hindurch und behandelt nur die dort gefundenen Sites. Beachten Sie: Sucht sendbatches das Verzeichnis out.going ab, werden nur solche Verzeichnisse als Systemnamen interpretiert, die keine Punkte oder Klammeraffen (@) enthalten.

Es gibt zwei Befehle, die uux benutzen, um rnews auf dem anderen System auszuführen: viauux und viauuxz. Der letztere setzt dabei die Option –z für uux, um zu verhindern, daß die älteren Versionen von uux für jeden übertragenen Artikel eine Erfolgsmeldung zurückliefern. Ein anderer Befehl, viamail, verschickt Artikel-Batches per Mail an den Benutzer rnews des entfernten Systems. Natürlich ist es bei dieser Methode notwendig, daß das entfernte System die gesamte Post für rnews an das lokale News-System weitergibt. Eine komplette Liste der möglichen Transportarten finden Sie in der newsbatch-Manpage.

Alle Befehle in den letzten drei Feldern müssen entweder in out.going/site oder in /usr/lib/news/batch zu finden sein. Bei den meisten handelt es sich um Skripten, die Sie einfach um neue Tools für Ihre persönlichen Bedürfnisse erweitern können. Aufgerufen werden sie über eine Pipe. Die Liste der Artikel wird dem Batcher über die Standardeingabe übergeben, der daraus den Batch erzeugt und an die Standardausgabe weiterleitet. Diese wird über eine Pipe an den Muncher weitergeleitet und so weiter.

Hier folgt eine Beispieldatei:

# batchparms-Datei für die Brauerei 
# site        | größe  |max    |batcher  |muncher    |transport 
#-------------+--------+-------+---------+-----------+----------- 
/default/       100000  22      batcher   compcun     viauux 
swim             10000  10      batcher   nocomp      viauux



1.

So wie es mit C News ausgeliefert wird, verwendet compcun compress mit der 12-Bit-Option, weil dies den kleinsten gemeinsamen Nenner für die meisten Systeme darstellt. Sie können eine Kopie, beispielsweise compcun16, erzeugen, bei der die 16-Bit-Komprimierung verwendet wird. Die Verbesserung ist allerdings nicht so berauschend.


vorheriges Kapitel Inhaltsverzeichnis Stichwortverzeichnis nächstes Kapitel


Weitere Informationen zum Linux - Wegweiser für Netzwerker

Weitere Online-Bücher & Probekapitel finden Sie in unserem Online Book Center


O'Reilly Home|O'Reilly-Partnerbuchhandlungen|Bestellinformationen
Kontakt|Über O'Reilly|Datenschutz

© 2001, O'Reilly Verlag