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 or if enableoverview is true in
inn.conf);
- processing log files and rotating the archived log files with
scanlogs;
- processing innfeed dropped files with procbatch;
- processing spooled messages with rnews invoked with the -U
flag;
- 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 unless enableoverview is set to true in
inn.conf.
- 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.
active(5), ctlinnd(8), expire(8), expire.ctl(5), expireover(8),
expirerm(8), fastrm(1), inn.conf(5), innstat(8), newslog(5), procbatch(8),
scanlogs(8), shlock(1).