Provided by: leafnode_1.11.11-5_amd64 bug

NAME

       fetchnews - fetch news via NNTP

SYNOPSIS

       fetchnews [-q] [-v] ... [-x number] [-l] [-n] [-f] [-P] [-w]

DESCRIPTION

       Leafnode  is  a USENET package intended for small sites, where there are few users and little disk space,
       but where a large number of groups is desired.

       The design of leafnode is intended to self-repair after problems, and to require no manual maintenance.

       Fetchnews (formerly called "fetch") is the program which submits and retrieves new articles  to  or  from
       the upstream NNTP server.

OPTIONS

       -q     Be quiet. Suppresses some warnings. This flag cancels any previously encountered -v flags.

       -v     Be  verbose.   This flag cancels any previously encountered -q flags.  A maximum of four -v can be
              used (the more v, the more verbose):

       -v     Warn about non-critical errors.

       -vv    Be verbose whenever a group command occurs.

       -vvv   Be verbose whenever an article command occurs.

       -vvvv  For debugging purposes. Don't expect the additional output to make sense.

       -w     Wait mode. This causes the XOVER update (which runs after the article fetch phase) to run  in  the
              foreground.  By  default,  the  XOVER  update  runs in the background, detached from the shell, on
              systems that offer a working fork(2) call. Helpful for debugging and to avoid terminal  clobbering
              when fetchnews is run manually.

       -x number
              Go  number  articles back and try to re-fetch what's missing. This can be useful to pull data from
              broken servers that have either overview and group data out of synch or  create  articles  out  of
              article number order.

       -l     Don't  use  supplementary  servers  (-l  is  supposed  to  mean  "local").  This does speed up the
              operation quite a bit.

       -n     Do not expire newsgroup subscriptions. Technically: do not unlink files in the  interesting.groups
              directory.

       -f     Erase  the  active.read  file,  thus  force  redownloading the whole active file from all upstream
              servers. This is usually occurring only very infrequently because  it  takes  a  long  time.   See
              timeout_active in leafnode(8).  DO NOT use this option in cron jobs or otherwise regularly.

       -P     Only post articles that have accumulated in the out.going directory but do not fetch articles from
              upstream servers.

EXIT STATUS

       fetchnews  will  exit  with code 0 if it could connect to all servers and encountered no other errors. It
       exits with code 2 when it was unable to connect to at least one server, and it exits with code 1 on other
       errors.

FILES AND CONFIGURATION

       /var/spool/news/leaf.node/active.read
              is a file to track when the active files have  been  successfully  downloaded  from  the  upstream
              servers  the  last time. If it is missing, this has the same effect as giving the -f option. It is
              only created after the active file of each upstream servers has been downloaded successfully.

       See leafnode(8) for the list of other files affected, and for information on configuring fetchnews.

ENVIRONMENT

       LN_SKIP_GROUPS=pattern[,pattern[...]] (since v1.9.53)
              If set, all groups that match one of the wildmat(3) patterns will be  skipped  during  the  fetch.
              This can be used as a quick way of skipping binary groups during daytime, for instance, example:

              env 'LN_SKIP_GROUPS=*binary*,alt.*' /usr/sbin/fetchnews -nq

       LN_LOCK_TIMEOUT
              This  variable  is  parsed  as an unsigned integer value and determines how many seconds fetchnews
              will wait when trying to obtain the lock file from another  leafnode  program.  0  means  to  wait
              indefinitely. This variable takes precedence over the configuration file.

       LN_SUPPRESS_DATE
              (since  v1.11.7)  If this variable is defined (regardless of its value, including empty), leafnode
              will skip checking the upstream server's time by means of the NNTP DATE command.

ALGORITHM

       Here is a brief description of what fetchnews does.

       First, after connecting to the upstream NNTP server, all articles that have  the  u+r  permission  (0400)
       flag  set  in /var/spool/news/out.going are posted using POST.  If a posting fails, that article is moved
       to /var/spool/news/failed.postings which an administrator has to clean up once in a while.  Moving a file
       back to /var/spool/news/out.going is sufficient to retry the post it. The u+r flag is checked to  prevent
       posting  an  (incomplete)  article  that  leafnode(8)  is still receiving at the same time.  If a posting
       succeeds, the article is removed from out.going in order to not post it twice into a moderated  newsgroup
       on  a  different  server (which would send multiple copies of the article to the moderator).  Note: older
       fetchnews versions tried to post on all servers first, but failed to do so when one of the servers  could
       not  be reached. If you need to work around a dodgy upstream server that is fast but doesn't forward your
       posts reliably, prohibit posting to this server using the nopost server option in the configuration file,
       see leafnode(8).

       Second, the upstream server's list of newsgroups (obtained using LIST and LIST NEWSGROUPS) is merged into
       leafnode's (if timeout_active has expired, the active.read file is not present  or  the  active  file  is
       empty) or updated (with NEWGROUPS).

       Third,  fetchnews  iterates  over  the list of newsgroups, performing a GROUP, an XOVER (if supported) or
       XHDR Message-ID and a number of HEAD and BODY or ARTICLE commands for each  group  which  has  been  read
       recently.  It assumes that for the particular group it is looking at, "maxage" was set to the groupexpire
       or global expire. As a consequence, it makes only sense to set maxage lower than or equal to expire.

NOTES

       Fetchnews does not use NEWNEWS.  NEWNEWS is not used because it is often  very  expensive  and  therefore
       also disabled at many sites.

       After  some  experiments,  I  decided  that  it  was  better to fetch all the articles in a group than to
       optimize away some; users would complain too loudly when the optmizer guessed wrongly.

       The only way to control what newsgroups are accessible to local users is to  control  what  the  upstream
       server  lets  fetchnews  read,  and  that  will  not keep out all crossposts (endemic in e.g. the alt.sex
       groups).  If your site is big enough that you need to control newsgroup access,  consider  using  a  news
       server which is designed for a big site.

       Fetchnews  sets its real and effective uid to "news" when started as root and refuses to run if it cannot
       get this user ID.

BUGS

       Fetchnews ignores the "Supersedes:" and "Control:" headers.

HISTORY

       Older versions of fetchnews posted any articles found in out.going. Since v1.9.23,  fetchnews  will  only
       post  article  files  that  have  their  user  executable  bit  set.  Leafnode sets this bit after it has
       successfully received a post. This behaviour avoids posting incomplete articles when leafnode receives  a
       post at the same time fetchnews is posting.

AUTHOR

       Written  by  Arnt  Gulbrandsen  <agulbra@troll.no> and copyright 1995\-–\-96 Troll Tech AS, Postboks 6133
       Etterstad, 0602 Oslo, Norway, fax +47 22646949.

       Modified    by    Cornelius    Krasel    <krasel@wpxx02.toxi.uni-wuerzburg.de>,    Markus     Enzenberger
       <enz@cip.physik.uni-muenchen.de>   and   Randolf   Skerka   <Randolf.Skerka@gmx.de>.   Copyright  of  the
       modifications 1997\-–\-1999.  Modified by Matthias  Andree  <matthias.andree@gmx.de>,  copyright  of  the
       modifications 2001\-–\-2004.

SEE ALSO

       leafnode(8), texpire(8), newsq(1), /etc/news/leafnode/leafnode/filters.example.

leafnode                                             1.11.11                                        fetchnews(8)