news.daily - Perform daily Usenet maintenance tasks
news.daily [delayrm] [expctl=path]
    [expdir=path] [expireover]
    [expireoverflags=args] [flags=args]
    [lowmark] [mailto=address] [noexpire]
    [noexpireover] [noexplog] [nologs] [nomail]
    [noprocbatch] [norenumber] [norm] [norotate]
    [nostat] [notdaily] [postexec=program]
    [procbatchdir=path] [tmpdir=path]
    [/path/to/a/program]
news.daily performs a number of important Usenet
    administrative functions. This includes:
  - producing a status report with innstat;
 
  - removing old news articles (with expirerm if the delayrm
      keyword is specified);
 
  - purging the overview database with expireover if the corresponding
      eponym keyword is specified;
 
  - processing log files and rotating the archived log files with
      scanlogs;
 
  - processing innfeed dropped files with procbatch;
 
  - renumbering the active file with ctlinnd;
 
  - rebuilding the history file with expire;
 
  - removing any old socket files found in the pathrun directory;
 
  - collecting all the output and mailing it.
 
Please note that this program should be run under the news
    administrator's account (usually "news"),
    not as root. By default, news.daily performs all of its functions and
    mails the output to the news administrator, which is the user specified with
    --with-news-master at configure time (it is
    "usenet" by default). You can also change
    this behaviour with the mailto keyword.
By specifying keywords on the command line, it is possible to
    modify the functions performed, as well as change the arguments given to
    expire(8) and expireover(8). news.daily should be run
    once a day, typically out of cron(8). Since it will slow the server
    down while it is running, it should be run during periods of low server
    usage, such as in the middle of the night. To run it at 3am, for example,
    add the following entry to the news user's crontab file:
    0 3 * * * <pathbin in inn.conf>/news.daily expireover lowmark
If you're using any non-CNFS storage methods, add the
    delayrm keyword to the above option list for news.daily.
It may be run more often, but such invocations should at least use
    the norotate keyword (or perhaps the notdaily keyword) to
    prevent the log files from being processed and rotated too fast. The
    shlock(1) program is used to prevent simultaneous executions.
The program specified by the given path /path/to/a/program
    is executed just before any expiration is done. A typical use is to specify
    an alternate expiration program and use the noexpire keyword.
    Multiple programs may be specified; they will be invoked in order.
The following keywords may be used:
  - delayrm
 
  - This uses the -z flag when invoking expire and
      expireover. The names of articles to be removed are written to a
      temporary file, and then renamed after expiration by calling
      expirerm which in turn calls fastrm.
 
  - expctl=path
 
  - Specify the file to use as the expire.ctl file for
    expire.
 
  - expdir=path
 
  - By default, expire builds the new history file and database
      in the same directory as the current files. Using this keyword specifies a
      different location to build the new files (by passing the -d flag
      to expire), which will then be moved to the right location when
      finished.
 
  - expireover
 
  - The expireover program is called after expiration to purge the
      overview database. If no overview data is created, the expireover
      keyword is not needed. This is the case when the server runs only for
      feeders (no reader). By default, expireover is not called by
      news.daily.
 
  - expireoverflags=args
 
  - If the expireover keyword is used, this keyword may be used to
      specify the flags to be passed to expireover. If the delayrm
      keyword is used, then the default value is -z and the list of
      deleted files; otherwise, the default value is -s.
 
  - flags=args
 
  - By default, expire is invoked with argument -v1. Using this
      keyword changes the arguments to those specified. Be careful to use quotes
      if multiple arguments are needed. This keyword has no effect if the
      noexpire keyword is used.
 
  - lowmark
 
  - If the lowmark keyword is used, "ctlinnd
      lowmark" is used for renumbering active. Normal
      "ctlinnd renumber" operation will take
      long time. With the lowmark keyword, this will take less time. If
      the lowmark keyword is used, the norenumber keyword is not
      needed since news.daily specifies it implicitly.
    
If the lowmark keyword is given to news.daily,
        then the expireover keyword must also be given; otherwise, that
        kind of renumbering will not be taken into account.
   
  - mailto=address
 
  - By default, news.daily mails the report to the newsmaster address
      specified with --with-news-master at configure time. The
      mailto keyword can specify a different address to which to mail the
      report. Note that using this keyword has no effect if the nomail
      keyword is also specified.
 
  - noexpire
 
  - By default, expire is invoked to remove old news articles. Using
      this keyword disables this function.
 
  - noexpireover
 
  - By default, expireover is invoked to remove old overview database
      if enableoverview is set in inn.conf. Using this keyword
      disables this function.
 
  - noexplog
 
  - expire normally appends information to pathlog/expire.log
      (see newslog(5)). Using this keyword causes the expire
      output to be handled as part of news.daily's output. It has no
      effect if the noexpire keyword is used.
 
  - nologs
 
  - After expiration, scanlogs is invoked to process the log files.
      Using this keyword disables all log processing functions.
 
  - nomail
 
  - news.daily normally sends a mail message containing the results to
      the administrator. Using this keyword causes this message to be sent to
      stdout and stderr instead. Normally, all utilities invoked by the script
      have their stdout and stderr redirected into a file. If the file is empty,
      no message is sent.
 
  - noprocbatch
 
  - This keyword disables the run of procbatch on innfeed
      dropped files generated in its spool directory. These files contain a list
      of articles which were not correctly sent to peers. By default, they will
      be processed and removed afterwards.
 
  - norenumber
 
  - This keyword disables the "ctlinnd
      renumber" operation. Normally, the low water marks for all
      newsgroups are reset in the active file.
 
  - norm
 
  - By default, any ctlinnd socket that has not been modified for two
      days will be removed. Using this keyword disables this function.
 
  - norotate
 
  - By default, log processing includes rotating and cleaning out log files.
      Using this keyword disables the rotating and cleaning aspect of the log
      processing: the logs files are only scanned for information and no
      contents are altered. This keyword has no effect if the nologs
      keyword is used. The norotate keyword is passed on to
      scanlogs if it is invoked.
 
  - nostat
 
  - This keyword disables the status report generated by innstat.
      Without this keyword, the status report is the first function performed,
      just prior to obtaining the news.daily lock.
 
  - notdaily
 
  - By default, news.daily expects to be run only once a day, and it
      does various things (like rotating logs) that normally should only be done
      on daily basis. Use this keyword any extra times news.daily is run
      in the day and the normal log files processing (and rotation) will not be
      done. This keyword implies nologs.
 
  - postexec=program
 
  - The program specified by the given path program is executed just
      after all expiration is done. Multiple programs may be specified; they
      will be invoked in order.
 
  - procbatchdir=path
 
  - news.daily tries to find the backlog directory of innfeed in
      innfeed.conf. In case several instances of innfeed are
      running or when its configuration file is not the default one, the
      procbatchdir keyword can be used to specify the path of the backlog
      directory. This keyword can be used more than once in the
    command-line.
 
  - tmpdir=path
 
  - Overrides the pathtmp setting in inn.conf by setting the
      environment variable $TMPDIR to the specified
      path. Various parts of the expire process, such as sort, will then use
      this path as the directory for temporary files.
 
news.daily and this manual page were written by Landon Curt
    Noll <chongo@toad.com> and Rich $alz
    <rsalz@uunet.uu.net> for InterNetNews. It was converted to POD by
    Julien Elie.
$Id: news.daily.pod 9628 2014-05-14
    17:22:01Z iulius $
active(5), ctlinnd(8), expire(8),
    expire.ctl(5), expireover(8), expirerm(8),
    fastrm(8), inn.conf(5), innstat(8), newslog(5),
    procbatch(8), scanlogs(8), shlock(1).