|
|
1.1 root 1: .if n .ds La '
2: .if n .ds Ra '
3: .if t .ds La `
4: .if t .ds Ra '
5: .if n .ds Lq "
6: .if n .ds Rq "
7: .if t .ds Lq ``
8: .if t .ds Rq ''
9: .de Ch
10: \\$3\\*(Lq\\$1\\*(Rq\\$2
11: ..
12: .TH EXPIRE 8 "February 14, 1986"
13: .ds ]W Version B 2.10.3
14: .SH NAME
15: expire \- remove outdated news articles
16: .SH SYNOPSIS
17: .BR /usr/lib/news/expire " [ " \-n
18: .IR newsgroups " ] ["
19: .BR \-i " ] [ " \-I " ] ["
20: .BR \-a " ] ["
21: .BI \-v " level"
22: ] [
23: .B \-p
24: ]
25: .br
26: [
27: .B \-h
28: ] [
29: .B \-r
30: ] [
31: .BI \-e " days"
32: ] [
33: .BI \-E " days"
34: ]
35: .br
36: .B /usr/lib/news/expire
37: .BI \-f " [email protected]"
38: .br
39: .B /usr/lib/news/expire
40: .B \-u
41: .SH DESCRIPTION
42: .PP
43: .I Expire
44: is the program that removes out-of-date news articles from your system.
45: You need to use a special program to do this, instead of just using
46: .I find(1)
47: or
48: .I rm(1),
49: because of the history file. If you just delete messages, then the history
50: file will become incorrect because it will think that they are still there.
51: .PP
52: The normal use of
53: .I expire
54: is to run it at regular intervals with no options.
55: It will remove all articles whose expiration date has passed.
56: If you have a lot of disk space, you can run it once a week. If disk space is
57: tight, you might want to run it every night. The length of time that it takes
58: to run depends, of course, on many factors; on a VAX 750 with a 15-day
59: expiration period and the volume of news that is typical in 1986 (about 5000
60: articles per week),
61: .I expire
62: will take roughly an hour to run.
63: .PP
64: .I Expire
65: has the following options:
66: .TP
67: .B \-n
68: Specify certain newsgroups whose articles will be expired. The other
69: newsgroups will be left alone. The notation that you use with the \-n option
70: is quite similar to that used in the sys file. To expire only the articles in
71: net.origins, leaving everything else alone, type this:
72: .nf
73: /usr/lib/news/expire \-n net.origins
74: .fi
75: To expire only the articles in net.micro, but leave net.micro.pc and
76: net.micro.mac alone, type this:
77: .nf
78: /usr/lib/news/expire \-n net.micro !net.micro.mac !net.micro.pc
79: .fi
80: For compatibility with the syntax of the sys file, you can also type the
81: command this way, with commas instead of spaces between the fields.
82: .nf
83: /usr/lib/news/expire \-n net.micro,!net.micro.mac,!net.micro.pc
84: .fi
85: If you have certain groups that you use as archives, which should never have
86: their articles expired, you must construct an
87: .I expire
88: command that mentions all groups except your archive groups. When doing this,
89: be sure not to forget the groups
90: .Ch junk ,
91: .Ch control ,
92: and
93: .Ch general .
94: A likely command would be:
95: .nf
96: /usr/lib/news/expire \-n all,!local.source,!mod.sources
97: .fi
98: .TP
99: .B \-e
100: Specify an expiration period. Normally
101: .I expire
102: removes articles that are older than 15 days. If you would like it to remove
103: articles that are older than 5 days, you can type
104: .nf
105: /usr/lib/news/expire \-e 5
106: .fi
107: If you would like it to remove articles from net.religion and net.politics
108: that are older than
109: 23 days, and leave everything else alone, you can type
110: .nf
111: /usr/lib/news/expire \-e 23 \-n net.religion net.politics
112: .fi
113: You can specify the \-e option as \-e15 instead of as \-e\ 15 if you want;
114: this is for compatibility with old versions and old habits.
115: .TP
116: \-E
117: Normally
118: .I expire
119: removes the record of an article from the history file at the same time it
120: removes the article. One of the purposes of the history file is to prevent
121: articles from being duplicated if a second copy arrives a while later,
122: perhaps over some other path. If your site is extremely short on disk space,
123: forcing you to specify a short expiration period in the \-e option, you can
124: use the \-E option to ask that the information in the history file be kept
125: round a bit longer, until the danger of duplicate arrival has passed. The
126: command
127: .nf
128: /usr/lib/news/expire \-e 7 \-E 21
129: .fi
130: Causes articles that are 7 or more days old to be removed, and history
131: information that is 21 or more days old to be removed. If you use the \-E
132: option, make sure that the value it specifies is always larger than the \-e
133: option value, else you will end up with articles that are not in the history
134: file; this can cause problems.
135: .TP
136: .B \-a
137: Asks that articles be archived (usually in /usr/spool/oldnews) instead of being deleted.
138: An example of its use would be
139: .nf
140: /usr/lib/news/expire \-e 30 \-a net.sources,mod.sources,!net.sources.bugs
141: .fi
142: .B \-a
143: may be used with
144: .B \-n .
145: If no pattern is given for
146: .B \-a ,
147: all newsgroups specified by
148: .B \-n
149: will be archived.
150: .TP
151: .B \-I
152: instructs
153: .I expire
154: to ignore expiration dates stored in articles, and to look at the number of
155: days that have passed since the article was received. Not very many articles
156: have expiration dates in them.
157: .TP
158: .B \-i
159: is like \-I, but it will look at the number of days that have passed and also
160: at the explicit expiration date, and it will remove the article if either of
161: those has passed.
162: .TP
163: \-v
164: sets the verbosity mode. If you have specified a complex collection of
165: options and they are not having the effect that you would like, then set \-v2
166: or \-v3 to find out what is going on. Values from 0 to 6 are meaningful, and
167: \-v1 is the default. \-v0 will turn off messages, and \-v6 will cause
168: .I expire
169: to print every possible message.
170: .TP
171: \-p
172: causes
173: .I expire
174: to use the date the article was posted, rather than the date it arrived at
175: your machine, as the basis for expiration. Every now and then there is a
176: .Ch "time warp"
177: that causes a batch of very very old news to be dumped onto the
178: network; judicious use of the \-p option can eradicate it.
179: .TP
180: \-f
181: asks
182: .I expire
183: to remove messages sent by a particular user, regardless of the newsgroup
184: that they are in, and regardless of how old they are.
185: This option is intended not so much to selectively censor
186: voluminous posters (though it has certainly been used for that) but to
187: recover when a
188: .I notesfiles
189: site (running different news software) accidentally releases a duplicate
190: batch of old news. An example of its use is
191: .nf
192: /usr/lib/news/expire \-f [email protected]
193: .fi
194: Any article whose From: field exactly matches the argument to the \-f option
195: will be removed.
196: .TP
197: \-h
198: causes
199: .I expire
200: to ignore the history file, and do its expiration by looking at every article
201: file in the spool directory. This is phenomenally slow\(emit can take 5 or 6
202: hours on an otherwise idle Vax 750\(embut if your history file is damaged and
203: you cannot use
204: .I find(1)
205: because you are relying on expiration dates stored inside articles, then you
206: have no other choice.
207: .TP
208: \-r
209: causes
210: .I expire
211: to rebuild the history file in addition to doing expiration. The \-r option
212: implies the \-h option; it scans every article in the spool directory and
213: builds a new set of history and
214: .I dbm(3X)
215: files. It also performs expiration, so if you want to rebuild the history
216: file while preserving all articles (as you might want to do on an archival
217: file computer), you must specify
218: .nf
219: /usr/lib/news/expire \-r \-I \-e 999999
220: .fi
221: to prevent expiration from taking place.
222: If you do not rely on expiration dates stored inside articles, it is a good
223: tonic to run the following sequence of commands once every now and then:
224: .nf
225: find /usr/spool/news \-size 0 \-o \-mtime +90 \-exec rm \-f {} \;
226: /usr/lib/news/expire \-r
227: .fi
228: This will remove junk files that have somehow managed to find their way into
229: the spooling directory, and then it will rebuild the history file.
230: .TP
231: \-u
232: causes the minimum article-number field in the active file to be updated.
233: This is used when converting from 2.10.1 news to later versions.
234: .SH SEE ALSO
235: inews(1),
236: postnews(1),
237: getdate(3),
238: news(5),
239: recnews(8),
240: sendnews(8),
241: uurec(8)
242: .SH BUGS
243: If
244: .I inews(1)
245: is run while
246: .I expire
247: is running, it can cause the article that inews is trying to insert to be
248: absent from your history file. There is no automatic interlock between
249: .I inews(1)
250: and
251: .I expire,
252: so you must take care to turn off
253: .I inews(1)
254: while
255: .I expire
256: is running. This bug will likely be fixed soon, but for the moment be careful
257: of it.
258: .PP
259: The newsgroup pattern argument to the \-n option is limited to 1024
260: characters, which is about 8 lines of text.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.