Tool to recover usenet active file.
makeactive [ -m ] [ -o ]
Makeactive invokes find(1) to get a list of all directories in the news spool tree, /var/spool/news. It discards directories named lost+found as well as those that have a period in them. It scans all other directories for all-numeric filenames and determines the highest and lowest number. The program's output is a set of active(5) file lines. Because there is no way to know if a group is moderated or disabled, the fourth field of all entries will be y. Also, mid-level directories that aren't newsgroups will also created as newsgroups with no entries (for example, there is a ``comp.sources.unix'' group, but no ``comp.sources'').
-m
If the ``-m'' flag is given, then makeactive will attempt to adjust the highest and lowest article numbers wherever possible. If articles are found in a newsgroup, the numbers will reflect what what was found. If no articles are found in a newsgroup, the high number from the old file will be kept, and the low number will be set to one more then the high number. This flag may only be used if the ``-o'' flag is used.
-o
If the ``-o'' flag is used, makeactive will read an existing active file for the list of group names and just renumber all groups. It will preserve the fourth field of the active file if one is present. This is analogous to the ctlinnd(8) ``renumber'' command, except that innd(8) should throttled or not running. Do not use this flag with output redirected to the standard active file!
Makeactive exits with non-zero status if any problems occurred.
A typical way to use the program is with the following /bin/sh commands:
ctlinnd throttle "Rebuilding active file" TEMP=${TMPDIR-/var/spool/news/in.coming/tmp}/act$$ if [ -f \*(R$ ] ; then if makeactive -o >${TEMP} ; then mv ${TEMP} \*(R$ fi else if makeactive >${TEMP} ; then # Edit to restore moderated # and aliased groups. .\|.\|. mv ${TEMP} \*(R$ fi fi ctlinnd reload active "New active file" ctlinnd go ''
Written by Rich $alz <[email protected]> for InterNetNews. This is revision \$3, dated \$4.