NEWS.DAILY(8)
π news.daily(8) β InterNetNews Documentation π
okay so bestie, welcome to the daily-maintenance episode of your Unix life. this page lives in the InterNetNews Documentation corner of the manual world, and it's about the little script that keeps your Usenet server from turning into a pumpkin overnight π
β¨ NAME β¨
news.daily β perform daily Usenet maintenance tasks. it's giving "chores but make it sysadmin" π
π¦ SYNOPSIS π¦
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]
πΈ DESCRIPTION πΈ
news.daily does a whole bunch of important Usenet admin stuff. the way it just handles everything for you? icon behavior honestly. here's the full roster π
- producing a status report with
innstat; - removing old news articles (with
expirermif thedelayrmkeyword is specified); - purging the overview database with
expireover(if the corresponding eponym keyword is specified or ifenableoverviewis true ininn.conf); - processing log files and rotating the archived log files with
scanlogs; - processing
innfeeddropped files withprocbatch; - processing spooled messages with
rnewsinvoked with the-Uflag; - renumbering the active file with
ctlinnd; - rebuilding the history file with
expire; - removing any old socket files found in the
pathrundirectory; - collecting all the output and mailing it.
π¨ okay important: run this program under the news administrator's account (usually "news"), not as root. not me being dramatic, it's literally the rule.
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. slay.
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(8) program is used to prevent simultaneous executions. no overlap, we don't do that here.
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. cute and orderly π
π KEYWORDS π
the following keywords may be used:
delayrmβ this uses the-zflag when invokingexpireandexpireover. the names of articles to be removed are written to a temporary file, and then renamed after expiration by callingexpirermwhich in turn callsfastrm. lowkey a little relay race πexpctl=_path_ β specify the file to use as theexpire.ctlfile forexpire.expdir=_path_ β by default,expirebuilds 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-dflag toexpire), which will then be moved to the right location when finished. build elsewhere, move it home πexpireoverβ theexpireoverprogram is called after expiration to purge the overview database. if no overview data is created, theexpireoverkeyword is not needed. this is the case when the server runs only for feeders (no reader). by default,expireoveris not called bynews.dailyunlessenableoverviewis set to true ininn.conf.expireoverflags=_args_ β if theexpireoverkeyword is used, this keyword may be used to specify the flags to be passed toexpireover. if thedelayrmkeyword is used, then the default value is-zand the list of deleted files; otherwise, the default value is-s. iykyk β¨flags=_args_ β by default,expireis 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 thenoexpirekeyword is used.lowmarkβ if thelowmarkkeyword is used,"ctlinnd lowmark"is used for renumbering active. normal"ctlinnd renumber"operation will take long time π. with thelowmarkkeyword, this will take less time. if thelowmarkkeyword is used, thenorenumberkeyword is not needed sincenews.dailyspecifies 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. no cap, they go together π
mailto=_address_ β by default,news.dailymails the report to the newsmaster address specified with--with-news-masterat configure time. themailtokeyword can specify a different address to which to mail the report. note that using this keyword has no effect if thenomailkeyword is also specified.noexpireβ by default,expireis invoked to remove old news articles. using this keyword disables this function.noexpireoverβ by default,expireoveris invoked to remove old overview database ifenableoverviewis set ininn.conf. using this keyword disables this function.noexplogβexpirenormally appends information topathlog/expire.log(seenewslog(5)). using this keyword causes theexpireoutput to be handled as part ofnews.daily's output. it has no effect if thenoexpirekeyword is used.nologsβ after expiration,scanlogsis invoked to process the log files. using this keyword disables all log processing functions.nomailβnews.dailynormally 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. quiet queen behavior π€«noprocbatchβ this keyword disables the run ofprocbatchoninnfeeddropped 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, anyctlinndsocket that has not been modified for two days will be removed. using this keyword disables this function. two days is literally the cutoff, bestie β³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 thenologskeyword is used. thenorotatekeyword is passed on toscanlogsif it is invoked.nostatβ this keyword disables the status report generated byinnstat. without this keyword, the status report is the first function performed, just prior to obtaining thenews.dailylock. first in line, every time π₯notdailyβ by default,news.dailyexpects 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 timesnews.dailyis run in the day and the normal log files processing (and rotation) will not be done. this keyword impliesnologs.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.dailytries to find the backlog directory ofinnfeedininnfeed.confandinnfeed-delayed.conf. in case several instances ofinnfeedare running or when its configuration file is not the default one, theprocbatchdirkeyword can be used to specify the path of the backlog directory. this keyword can be used more than once in the command-line, permitting specifying several backlog directories. stack 'em, bestie π₯tmpdir=_path_ β overrides thepathtmpsetting ininn.confby setting the environment variable"$TMPDIR"to the specified path. various parts of theexpireprocess, such assort, will then use this path as the directory for temporary files.
π¦ HISTORY π¦
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. legends, honestly π the way they built this whole thing? iconic.
π SEE ALSO π
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(8).
go read them, bestie, i believe in you π
and that's the whole page!! this cutie comes to you from INN 2.7.4, dated 2025-05-09 β mwah, go run your maintenance, ily πβ¨π
π¦ where this page comes from
- arch rolling: inn 2.7.4-4 Β· ISC
- epel 10: inn 2.7.4-5.el10_3 Β· ISC AND BSD-3-Clause AND BSD-4-Clause AND FSFAP AND (GPL-1.0-or-later OR Artistic-1.0-Perl) AND GPL-3.0-or-later WITH Bison-exception-2.2 AND LicenseRef-Fedora-Public-Domain AND MIT AND NTP
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms