NEWS.DAILY(8)

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, news. 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 /var/log/news/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 /var/log/news/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/lib/news/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@toad.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>.

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