NAME
          news.daily - do regular Usenet system administration

     SYNOPSIS
          news.daily [ keyword... ]

          innwatch [ -t sleeptime ] [ -f controlfile ] [ -l logfile ]

          expirerm file

          inncheck [ -v ] [ -pedantic ] [ -perms [ -fix ] ] [ -noperms
          ] [ file... ]

     DESCRIPTION
          News.daily performs a number of important Usenet
          administrative functions.  This includes producing a status
          report, removing old news articles, processing log files,
          rotating the archived log files, renumbering the active
          file, removing any old socket files found in the
          ``firewall'' directory, and collecting the output.  This
          program should be run under the news administrator's id, not
          as root.

          By default, news.daily performs all of its functions and
          mails the output to the news administrator, inn.  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).  It may be run more often, but such invocations
          should at least use the ``norotate'' keyword to prevent the
          log files from being processed and rotated too fast.

          The shlock(1) program is used to prevent simultaneous
          executions.

          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 removed after
               expiration by calling expirerm.

          nostat
               This keyword disables the status report generated by
               innstat (see newslog(8)).  Without this keyword, the
               status report is the first function performed, just
               prior to obtaining the news.daily lock.

          noexpire
               By default, expire is invoked to remove old news
               articles.  Using this keyword disables this function.

          noexplog
               Expire normally appends information to
               /usr/local/news/log/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.

          flags='expire args'
               By default, expire is invoked with the an argument of
               ``-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.

          nologs
               After expiration, scanlogs(8) is invoked to process the
               log files.  Using this keyword disables all log
               processing functions.

          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.

          norenumber
               This keyword disables the ctlinnd(8) renumber
               operation.  Normally, the low-water mark for all
               newsgroups (see active(5)) is reset.

          norm By default, any socket ctlinnd socket that has not been
               modified for two days will be removed.  Using this
               keyword disables this function.

          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.

          expireover
               The expireover program is called after expiration to
               purge the overview databases.

          expireoverflags='expireover 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''.

          /full/path
               The program specified by the given path 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 ``norotate'' keyword is passed on to scanlogs if it is
          invoked.  Expirerm is a script that removes a list of files.
          The specified file lists the files.  It is sorted, and then
          fed into a pipeline responsible for doing the removal,
          normally fastrm(8).  If there seemed to be a problem
          removing the files, then mail is sent to the news
          administrator.  If there were no problems, then file is
          renamed to /usr/local/news/log/expire.list where it is kept
          (for safety) until the next day's expiration.

          Innwatch is a script that can be started at news boot time.
          It periodically - every sleeptime seconds - examines the
          load average, and the number of free blocks and inodes on
          the spool partition, as described by its controlfile,
          innwatch.ctl(5).  If the load gets too high, or the disk
          gets too full, it throttles the server.  When the condition
          restores, it unblocks the server.  In addition, on each pass
          through the loop it will check the specified logfile to see
          if it has been modified, and send mail to the news
          administrator if so.  It is usually a good idea to set this
          to the syslog(3) file that receives critical news messages.
          Upon receipt of an interrupt signal, innwatch will report
          its status in the file /usr/local/news/lib/innwatch.status.

          Inncheck is a Perl(1) script that verifies the syntax and
          permissions of all InterNetNews configuration files.  If no
          files are specified, it checks all files.  A filename may be
          followed by an equal sign and a path to indicate the
          pathname to use for the file.  For example,
          ``newsfeeds=/tmp/nf'' will check the syntax of a new
          newsfeeds(5) without requiring it to be installed.  If the
          ``-v'' flag is used, it prints status information as it
          checks each file.  If the ``-pedantic'' flag is used, it
          checks the files for omissions which are not strictly
          errors, but which might indicate a configuration error.

          If any file is specified, only the permissions on those
          files are checked.  The ``-noperms'' flag will suppress this
          check.  If the ``-perms'' flag is used the script verifies
          the ownership and permissions of all files.  The ``-fix''
          flag can also be used so that the output can be executed as
          a shell script.

     HISTORY
          News.daily and this manual page written by Landon Curt Noll
          <{chongo,noll}@{toad,sgi}.com> and Rich $alz <rsalz@uunet.uu.net>.
          Inncheck written by Brendan Kehoe <brendan@cs.widener.edu>
          and Rich.  Innwatch written by Mike Cooper <mcooper@usc.edu>
          and <kre@munnari.oz.au>.  This is revision 1.6, dated
          1993/03/18.

     SEE ALSO
          active(5), ctlinnd(8), expire(8), fastrm(8), newslog(5),
          newslog(8), innwatch.ctl(5), shlock(1).