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
<
[email protected]> and Rich $alz <
[email protected]> 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).