|
|
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.