Konfiguration von suck News Network File System Inhalt Index


get.news

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 
   # ...

put.news

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

sucknewsrc

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.


Konfiguration von suck News Network File System Inhalt Index