![]() ![]() ![]() |
![]() ![]() |
Das Skript get.news
ist nun zu bearbeiten, die zu bearbeitenden
Zeilen sind durch ->
gekennzeichnet, im Beispiel ist nur der Header
der Datei aufgeführt:
news@sonne> vim get.news #!/bin/sh # BEFORE USING - check to ensure all the paths defined below # are correct!! # NOTE: this script probably needs to be run by root. Most # systems will not let a normal user run ctlinnd -> REMOTE_HOST=java.cs.uni-magdeburg.de -> LOCAL_HOST=localhost -> SPOOLDIR=/var/spool/news # base directory for articles to # be rposted -> NEWSDIR=/usr/lib/news # base directory for news # binaries -> BASEDIR=/var/lib/news/sucks # base directory for scripts and # data files CTLINND=${NEWSDIR}/bin/ctlinnd # location of binary SHLOCK=${NEWSDIR}/bin/shlock # location of binary TMPDIR=${BASEDIR} # location for suck.* files MSGDIR=${BASEDIR}/Msgs # where to put MultiFile messages # when getting them -> SITE=java.cs.uni-magdeburg.de # name of site from newsfeeds # file OUTGOING=${SPOOLDIR}/out.going/${SITE} # location of the list #of articles to upload # ... TESTHOST=testhost RPOST=rpost SUCK=suck # if we are already running, abort # ...
Das Skript put.news
sollte in der ursprünglichen Version funktionieren:
news@sonne> less put.news #!/bin/sh # this is just a simple script to use sed to strip off the # NNTP_Posting_Host and Xref headers that my ISP's newsfeed # doesn't like. this could be written as a one liner # sed -e SEDCMD1 $1 | sed SEDCMD2 > $2 if [ $# -ne 2 ]; then echo echo "Usage `basename $0` infile outfile " echo exit -1 fi SEDCMD="/^NNTP-Posting-Host/d" SEDCMD2="/^Xref/d" OUTFILE=$2 INFILE=$1 if [ -f ${INFILE} ]; then sed -e ${SEDCMD} ${INFILE} | sed -e ${SEDCMD2} > ${OUTFILE} if [ $? -ne 0 ]; then echo "Error" exit -1 fi else echo "$1 does not exist" exit -1 fi
Bevor es ans Herunterladen der Artikel geht, beschreiben wir in einer
Datei sucknewsrc
, welche Newsgruppen wir überhaupt lokal speichern
wollen:
news@sonne> vim sucknewsrc alt.linux 0 alt.os.linux 0 de.markt.comp.hardware 0
Die Nummern hinter den Newsgruppen geben an, bis zu welcher Nummer die Artikel
schon lokal vorliegen. Nach dem Aufruf von get.news
entsprechen diese
dann der höchsten heruntergeladenen Artikelnummer.
Um nicht eine Unmenge an Artikeln zu ziehen, sollte man die Nummern initial
auf -1
setzen und einmal get.news
aufrufen.
Die Datei sucknewsrc
enthält anschließend die auf dem Newsserver
liegenden Artikelnummern:
news@sonne> less sucknewsrc alt.linux 7777 alt.os.linux 64476 de.markt.comp.hardware 106330
Durch Herabsetzen der Nummern um den Wert x
erreicht man beim
nächsten Aufruf von get.news
das Herunterladen der letzten
x
Artikel.
![]() ![]() ![]() |
![]() ![]() |