EXPIRE.CTL(5)EXPIRE.CTL(5)NAME
expire.ctl - control file for Usenet article expiration
DESCRIPTION
The file /var/spool/news/data/expire.ctl is the default control file
for the expire(8) program, which reads it at start-up. Blank lines and
lines beginning with a number sign (``#'') are ignored. All other
lines should be in one of two formats.
The first format specifies how long to keep a record of fully-expired
articles. This is useful when a newsfeed intermittently offers older
news that is not kept around very long. (The case of very old news is
handled by the ``-c'' flag of innd(8).) There should only be one line
in this format, which looks like this:
/remember/:days
Where days is a floating-point number that specifies the upper limit to
remember a Message-ID, even if the article has already expired. (It
does not affect article expirations.)
Most of the lines in the file will consist of five colon-separated
fields, as follows:
pattern:modflag:keep:default:purge
The pattern field is comma-separated set of single wildmat(3)-style
patterns that specify the newsgroups to which the rest of the line
applies. Since the file is interpreted in order, the most general pat‐
terns should be specified first, and the most specific patterns should
be specified last.
The modflag field can be used to further limit newsgroups to which the
line applies, and should be chosen from the following set:
M Only moderated groups
U Only unmoderated groups
A All groups
The next three fields are used to determine how long an article should
be kept. Each field should be either a number of days (fractions like
``8.5'' are allowed) or the word ``never.'' The most common use is to
specify the default value for how long an article should be kept. The
first and third fields — keep and purge — specify the boundaries within
which an Expires header will be honored. They are ignored if an arti‐
cle has no Expires header. The fields are specified in the file as
``lower-bound default upper-bound,'' and they are explained in this
order. Since most articles do not have explicit expiration dates, how‐
ever, the second field tends to be the most important one.
The keep field specifies how many days an article should be kept before
it will be removed. No article in the newsgroup will be removed if it
has been filed for less then keep days, regardless of any expiration
date. If this field is the word ``never'' then an article cannot have
been kept for enough days so it will never be expired.
The default field specifies how long to keep an article if no Expires
header is present. If this field is the word ``never'' then articles
without explicit expiration dates will never be expired.
The purge field specifies the upper bound on how long an article can be
kept. No article will be kept longer then the number of days specified
by this field. All articles will be removed after then have been kept
for purge days. If purge is the word ``never'' then the article will
never be deleted.
It is often useful to honor the expiration headers in articles, espe‐
cially those in moderated groups. To do this, set keep to zero,
default to whatever value you wish, and purge to never. To ignore any
Expires header, set all three fields to the same value.
There must be exactly one line with a pattern of ``*'' and a modflags
of ``A'' — this matches all groups and is used to set the expiration
default. It should be the first expiration line.
For example,
## How long to keep expired history
/remember/:5
## Most things stay for two weeks
*:A:14:14:14
## Believe expiration dates in moderated groups, up to six weeks
*:M:1:30:42
## Keep local stuff for a long time
foo.*:A:30:30:30
HISTORY
Written by Rich $alz <rsalz@uunet.uu.net> for InterNetNews. This is
revision 1.11, dated 1993/01/29.
SEE ALSOexpire(8), wildmat(3).
EXPIRE.CTL(5)