1EXPIREOVER(8) InterNetNews Documentation EXPIREOVER(8)
2
3
4
6 expireover - Expire entries from the news overview database
7
9 expireover [-ekNpqs] [-f file] [-w offset] [-z rmfile] [-Z lowmarkfile]
10
12 expireover expires old entries from the news overview database. It
13 reads in a list of newsgroups (by default from pathdb/active, but a
14 different file can be specified with the -f option) and then removes
15 from the overview database mentions of any articles that no longer
16 exist in the news spool.
17
18 If groupbaseexpiry in inn.conf is true, expireover also removes old
19 articles from the news spool according to the expiration rules in
20 expire.ctl. Otherwise it only removes overview entries for articles
21 that have already been removed by some other process, and -e, -k, -N,
22 -p, -q, -w, and -z are all ignored.
23
24 When groupbaseexpiry is set, the default behavior of expireover is to
25 remove the article from the spool once it expires out of all of the
26 newsgroups to which it was crossposted. The article is, however,
27 removed from the overview database of each newsgroup as soon as it
28 expires out of that individual newsgroup. The effect is that an
29 article crossposted to several groups will be removed from the overview
30 database from each group one-by-one as its age passes the expiration
31 threshold for that group as set in expire.ctl, and then when it expires
32 out of the last newsgroup, it will be deleted from the news spool.
33
34 Articles that are stored in self-expiring storage backends such as CNFS
35 are normally treated differently and not expired until they expire out
36 of the backend regardless of expire.ctl. See -N, however.
37
38 By default, expireover purges all overview information for newsgroups
39 that have been removed from the server; this behavior is suppressed if
40 -f is given.
41
43 -e Remove articles from the news spool and all overview databases as
44 soon as they expire out of any newsgroup to which they are posted,
45 rather than retain them until they expire out of all newsgroups.
46 -e and -k cannot be used at the same time. This flag is ignored if
47 groupbaseexpiry is false.
48
49 -f file
50 Use file as the newsgroup list instead of pathdb/active. file can
51 be "-" to indicate standard input. Using this flag suppresses the
52 normal purge of all overview information from newsgroups that have
53 been removed from the server.
54
55 -k Retain all overview information for an article, as well as the
56 article itself, until it expires out of all newsgroups to which it
57 was posted. This can cause articles to stick around in a newsgroup
58 for longer than the expire.ctl rules indicate, when they're
59 crossposted. -e and -k cannot be used at the same time. This flag
60 is ignored if groupbaseexpiry is false.
61
62 -N Apply expire.ctl rules to expire articles even from storage methods
63 that have self-expire functionality. This may remove articles from
64 self-expiring storage methods before the articles "naturally"
65 expire. This flag is ignored if groupbaseexpiry is false.
66
67 -p By default, expireover bases decisions on whether to remove an
68 article on the arrival time on the server. This means that
69 articles may be kept a little longer than if the decision were
70 based on the article's posting date. If this option is given,
71 expiration decisions are based on the article posting date instead.
72 This flag is ignored if groupbaseexpiry is false.
73
74 -q expireover normally prints statistics at the end of the expiration
75 process. -q suppresses this report. This flag is ignored if
76 groupbaseexpiry is false.
77
78 -s expireover normally only checks the existence of articles in the
79 news spool if querying the storage method for that article to see
80 if it still exists is considered "inexpensive". To always check
81 the existence of all articles regardless of how resource-intensive
82 this may be, use the -s flag. See storage.conf(5) for more
83 information about this metric.
84
85 -w offset
86 "Warps" time so that expireover thinks that it's running at some
87 time other than the current time. This is occasionally useful to
88 force groups to be expired or not expired without changing
89 expire.ctl for the expire run. offset should be a signed floating
90 point number specifying the number of days difference from the
91 current time to use as "now". This flag is ignored if
92 groupbaseexpiry is false.
93
94 -z rmfile
95 Don't remove articles immediately but instead write the path to the
96 article or the token of the article to rmfile, which is suitable
97 input for fastrm(1). This can substantially speed up deletion of
98 expired articles for those storage methods where each article is a
99 single file (such as tradspool and timehash). See the description
100 of the delayrm keyword in news.daily(8) for more details. This
101 flag is ignored if groupbaseexpiry is false.
102
103 -Z lowmarkfile
104 Write the lowest article numbers for each newsgroup as it's expired
105 to the specified file. This file is then suitable for "ctlinnd
106 lowmark". See ctlinnd(8) for more information.
107
109 Normally expireover is invoked from news.daily(8), which handles such
110 things as processing the rmfile and lowmarkfile if necessary.
111 Sometimes it's convenient to manually expire a particular newsgroup,
112 however. This can be done with a command like:
113
114 echo example.test | expireover -f - -Z <pathtmp in inn.conf>/lowmark
115 ctlinnd lowmark <pathtmp>/lowmark
116
117 This can be particularly useful if a lot of articles in a particular
118 group have expired but the overview information is still present,
119 causing some clients to see a lot of "this article may have been
120 cancelled" messages when they first enter the newsgroup.
121
123 Written by Rob Robertson <rob@violet.berkeley.edu> and Rich $alz
124 <rsalz@uunet.uu.net> (with help from Dave Lawrence <tale@uunet.uu.net>)
125 for InterNetNews.
126
128 active(5), ctlinnd(8), expire(8), expire.ctl(5), inn.conf(5),
129 news.daily(8).
130
131
132
133INN 2.7.0 2022-07-10 EXPIREOVER(8)