Provided by: inn2_2.7.3-1_amd64 bug

NAME

       expireover - Expire entries from the news overview database

SYNOPSIS

       expireover [-ekNpqs] [-f file] [-w offset] [-z rmfile] [-Z lowmarkfile]

DESCRIPTION

       expireover expires old entries from the news overview database.  It reads in a list of newsgroups (by
       default from pathdb/active, but a different file can be specified with the -f option) and then removes
       from the overview database mentions of any articles that no longer exist in the news spool.

       If groupbaseexpiry in inn.conf is true, expireover also removes old articles from the news spool
       according to the expiration rules in expire.ctl.  Otherwise it only removes overview entries for articles
       that have already been removed by some other process, and -e, -k, -N, -p, -q, -w, and -z are all ignored.

       When groupbaseexpiry is set, the default behavior of expireover is to remove the article from the spool
       once it expires out of all of the newsgroups to which it was crossposted.  The article is, however,
       removed from the overview database of each newsgroup as soon as it expires out of that individual
       newsgroup.  The effect is that an article crossposted to several groups will be removed from the overview
       database from each group one-by-one as its age passes the expiration threshold for that group as set in
       expire.ctl, and then when it expires out of the last newsgroup, it will be deleted from the news spool.

       Articles that are stored in self-expiring storage backends such as CNFS are normally treated differently
       and not expired until they expire out of the backend regardless of expire.ctl.  See -N, however.

       By default, expireover purges all overview information for newsgroups that have been removed from the
       server; this behavior is suppressed if -f is given.

OPTIONS

       -e  Remove  articles  from  the  news  spool and all overview databases as soon as they expire out of any
           newsgroup to which they are posted, rather than retain them until they expire out of all  newsgroups.
           -e and -k cannot be used at the same time.  This flag is ignored if groupbaseexpiry is false.

       -f file
           Use file as the newsgroup list instead of pathdb/active.  file can be "-" to indicate standard input.
           Using  this  flag  suppresses  the normal purge of all overview information from newsgroups that have
           been removed from the server.

       -k  Retain all overview information for an article, as well as the article itself, until it  expires  out
           of all newsgroups to which it was posted.  This can cause articles to stick around in a newsgroup for
           longer than the expire.ctl rules indicate, when they're crossposted.  -e and -k cannot be used at the
           same time.  This flag is ignored if groupbaseexpiry is false.

       -N  Apply  expire.ctl  rules  to  expire  articles  even  from  storage  methods  that  have  self-expire
           functionality.  This may remove articles from  self-expiring  storage  methods  before  the  articles
           "naturally" expire.  This flag is ignored if groupbaseexpiry is false.

       -p  By  default,  expireover  bases  decisions on whether to remove an article on the arrival time on the
           server.  This means that articles may be kept a little longer than if the decision were based on  the
           article's  posting  date.   If  this  option  is given, expiration decisions are based on the article
           posting date instead.  This flag is ignored if groupbaseexpiry is false.

       -q  expireover normally prints statistics at the end of  the  expiration  process.   -q  suppresses  this
           report.  This flag is ignored if groupbaseexpiry is false.

       -s  expireover  normally  only checks the existence of articles in the news spool if querying the storage
           method for that article to see if it still exists is considered "inexpensive".  To always  check  the
           existence  of  all  articles  regardless of how resource-intensive this may be, use the -s flag.  See
           storage.conf(5) for more information about this metric.

       -w offset
           "Warps" time so that expireover thinks that it's running at some time other than  the  current  time.
           This  is occasionally useful to force groups to be expired or not expired without changing expire.ctl
           for the expire run.  offset should be a signed floating point number specifying the  number  of  days
           difference from the current time to use as "now".  This flag is ignored if groupbaseexpiry is false.

       -z rmfile
           Don't  remove  articles  immediately  but  instead  write the path to the article or the token of the
           article to rmfile, which is suitable input for fastrm(1).  This can substantially speed  up  deletion
           of  expired articles for those storage methods where each article is a single file (such as tradspool
           and timehash).  See the description of the delayrm keyword in news.daily(8) for more  details.   This
           flag is ignored if groupbaseexpiry is false.

       -Z lowmarkfile
           Write the lowest article numbers for each newsgroup as it's expired to the specified file.  This file
           is then suitable for "ctlinnd lowmark".  See ctlinnd(8) for more information.

EXAMPLES

       Normally expireover is invoked from news.daily(8), which handles such things as processing the rmfile and
       lowmarkfile  if necessary.  Sometimes it's convenient to manually expire a particular newsgroup, however.
       This can be done with a command like:

           echo example.test | expireover -f - -Z <pathtmp in inn.conf>/lowmark
           ctlinnd lowmark <pathtmp>/lowmark

       This can be particularly useful if a lot of articles in a particular group have expired but the  overview
       information is still present, causing some clients to see a lot of "this article may have been cancelled"
       messages when they first enter the newsgroup.

HISTORY

       Written  by  Rob  Robertson  <rob@violet.berkeley.edu> and Rich $alz <rsalz@uunet.uu.net> (with help from
       Dave Lawrence <tale@uunet.uu.net>) for InterNetNews.

SEE ALSO

       active(5), ctlinnd(8), expire(8), expire.ctl(5), inn.conf(5), news.daily(8).

INN 2.7.3                                          2025-05-19                                      EXPIREOVER(8)