1EXPIRE(8)                 InterNetNews Documentation                 EXPIRE(8)
2
3
4

NAME

6       expire - Usenet article and history expiration program
7

SYNOPSIS

9       expire [-iNnptx] [-d dir] [-f file] [-g file] [-h file] [-r reason] [-s
10       size] [-v level] [-w number] [-z file] [expire.ctl]
11

DESCRIPTION

13       expire scans the history(5)-format text file pathdb/history and uses
14       the information recorded in it to purge itself of old news articles.
15       Its behaviour depends on the setting of groupbaseexpiry in inn.conf.
16
17       When groupbaseexpiry is false, article expiration is primarily done by
18       expire based on the expiration rules in expire.ctl that match the
19       storage class of each article.  The articles and the history entries
20       are removed by expire, and then expireover does the additional cleanup
21       of removing the overview database entries.  History entries of expired
22       articles are removed only if they are older than the number of days
23       specified in the "/remember/" line in expire.ctl.  Articles stored
24       using a storage method that has self-expire functionality like CNFS are
25       by default not affected by expire's primary behaviour (but see the -N
26       flag to disable this).
27
28       When groupbaseexpiry is true, article expiration is primarily done by
29       expireover based on the expiration rules in expire.ctl that match each
30       newsgroup.  Articles are removed from the news spool by expireover, and
31       then expire does some additional cleanup to remove old history database
32       entries.
33
34       For articles in self-expiring storage methods when groupbaseexpiry is
35       set to false in inn.conf and the -N flag is not given, or for all
36       articles when groupbaseexpiry is set to true, expire.ctl is ignored
37       except the "/remember/" line; expire then only probes to see if the
38       article still exists, and purges the relevant history entries if
39       appropriate.
40
41       Regardless the setting of groupbaseexpiry, expireover should be run
42       along with expire, usually via news.daily out of cron.
43
44       Note that expire never purges articles which do not match any entry in
45       expire.ctl.
46
47       Also note that if groupbaseexpiry is true, the server needs an overview
48       database in order to expire articles in storage backends that are not
49       self-expiring.  If you do not plan to have an overview database, it
50       would then be better to only use self-expiring backends like CNFS, as
51       the history entries will still get cleaned up by expire when it detects
52       that an article no longer exists in that backend.
53

OPTIONS

55       -d dir
56           If the -d flag is used, then the new history file and database is
57           created in the specified directory dir.  This is useful when the
58           filesystem does not have sufficient space to hold both the old and
59           new history files.  When this flag is used, expire leaves the
60           server paused and creates a zero-length file named after the new
61           history file, with an extension of ".done" to indicate that it has
62           successfully completed the expiration.  The calling script should
63           install the new history file and unpause the server.  The -r flag
64           should be used with this flag.
65
66       -f file
67           To specify an alternate history file, use the -f flag.  This flag
68           is valid when used with the -d flag, and the output will be written
69           to the specified file.  The default without -f is "history".
70
71       -g file
72           If the -g flag is given, then a one-line summary equivalent to the
73           output of -v 1, except preceded by the current time, will be
74           appended to the specified file.
75
76       -h file
77           To specify an alternate input text history file, use the -h flag.
78           expire uses the old dbz database to determine the size of the new
79           one.  (If the -d flag is not used, the output filename will be the
80           same as the input filename with an extension of ".n".)
81
82           The default without the -h flag is pathdb/history.
83
84       -i  To ignore the old database, use the -i flag.
85
86       -N  The control file is normally ignored for articles in storage
87           methods which have self-expire functionality.  If the -N flag is
88           used, expire still uses the control file for these articles.
89
90           This parameter is only useful when groupbaseexpiry is set to false
91           in inn.conf.
92
93       -n  If innd is not running, use the -n flag and expire will not send
94           the "pause" or "go" commands.  (For more details on the commands,
95           see ctlinnd(8)).  Note that expire only needs exclusive access for
96           a very short time -- long enough to see if any new articles arrived
97           since it first hit the end of the file, and to rename the new files
98           to the working files.
99
100       -p  expire makes its decisions on the time the article arrived, as
101           found in the history file.  This means articles are often kept a
102           little longer than with other expiration programs that base their
103           decisions on the article's posting date.  To use the article's
104           posting date, use the -p flag.
105
106       -r reason
107           expire normally sends a "pause" command to the local innd daemon
108           when it needs exclusive access to the history file, using the
109           string "Expiring" as the reason.  To give a different reason, use
110           the -r flag.  The process ID will be appended to the reason.  When
111           expire is finished and the new history file is ready, it sends a
112           "go" command.  See also the -n flag.
113
114       -s size
115           Optimize the new history database for approximately size pairs
116           (lines in history).  Accurately specifying the size will create a
117           more efficient database.  (The size should be the estimated
118           eventual size of the file, typically the size of the old file.)
119
120       -t  If the -t flag is used, then expire will generate a list of the
121           tokens that should be removed on its standard output, and the new
122           history file will be left in history.n, history.n.dir,
123           history.n.index and history.n.hash.  This flag is useful for
124           debugging when used with the -n flag.  Note that if the -f flag is
125           used, then the name specified with that flag will be used instead
126           of history.
127
128       -v level
129           The -v flag is used to increase the verbosity of the program,
130           generating messages to standard output.  The level should be a
131           number, where higher numbers result in more output.  Level one will
132           print totals of the various actions done (not valid if a new
133           history file is not written), level two will print a report on each
134           individual file, while level five results in multiple lines of
135           output for every history line processed.
136
137       -w number
138           Use the -w flag to "warp" time so that expire thinks it is running
139           at some time other than the current time.  The value should be a
140           signed floating point number indicating the number of days to use
141           as the offset.
142
143       -x  If the -x flag is used, then expire will not create any new history
144           files.  This is most useful when combined with the -n and -t flags
145           to see how different expiration policies would change the amount of
146           disk space used.
147
148       -z file
149           If the -z flag is used, then articles are not removed, but their
150           names are appended to the specified file.  See the description of
151           delayrm in news.daily(8).  If a filename is specified, it is taken
152           as the control file and parsed according to the rules in
153           expire.ctl.  A single dash ("-") may be used to read the file from
154           standard input.  If no file is specified, the file
155           pathetc/expire.ctl is read.
156

HISTORY

158       Written by Rich $alz <rsalz@uunet.uu.net> for InterNetNews.  Converted
159       to POD by Julien Elie.
160

SEE ALSO

162       ctlinnd(8), expire.ctl(5), expireover(8), history(5), inn.conf(5),
163       innd(8), libinn_dbz(3), libinn_inndcomm(3), news.daily(8).
164
165
166
167INN 2.7.1                         2022-07-10                         EXPIRE(8)
Impressum