Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35) Standard preamble: ========================================================================..
..
..
Set up some character translations and predefined strings. \*(-- will give an unbreakable dash, \*(PI will give pi, \*(L" will give a left double quote, and \*(R" will give a right double quote. \*(C+ will give a nicer C++. Capital omega is used to do unbreakable dashes and therefore won't be available. \*(C` and \*(C' expand to `' in nroff, nothing in troff, for use with C<>..tr \(*W-
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
. ds C`
. ds C'
'br\}
Escape single quotes in literal strings from groff's Unicode transform. If the F register is >0, we'll generate index entries on stderr for titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index entries marked with X<> in POD. Of course, you'll have to process the output yourself in some meaningful fashion. Avoid warning from groff about undefined register 'F'...
.nr rF 0
. if \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. if !\nF==2 \{\
. nr % 0
. nr F 2
. \}
. \}
.\}
.rr rF
Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). Fear. Run. Save yourself. No user-serviceable parts.. \" fudge factors for nroff and troff
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #]
.\}
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
. \" corrections for vroff
. \" for low resolution devices (crt and lpr)
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
======================================================================== Title "MAKEHISTORY 8" MAKEHISTORY 8 "2015-09-12" "INN 2.6.4" "InterNetNews Documentation"
For nroff, turn off justification. Always turn off hyphenation; it makes way too many mistakes in technical documents. "NAME"
makehistory - Initialize or rebuild INN history database
"SYNOPSIS"
Header "SYNOPSIS" \fBmakehistory [
-abFIOSx] [
-f filename] [
-l count]
[
-L load-average] [
-s size] [
-T tmpdir]
"DESCRIPTION"
Header "DESCRIPTION" \fBmakehistory rebuilds the
history\|(5) text file, which contains a list of
message-IDs of articles already seen by the server. It can also be used
to rebuild the overview database. Note that even though the
dbz\|(3) indices
for the
history file are also rebuilt by
makehistory, it is useful
to run
makedbz\|(8) after
makehistory\|(8) in order to improve the efficiency
of the indices (
makehistory does not know how large to make the hash
table at first run, unless the size is given by the
-s flag).
The default location of the history text file is pathdb/history; to
specify an alternate location, use the -f flag.
By default, makehistory will scan the entire spool, using the storage
manager, and write a history line for every article. To also generate
overview information, use the -O flag.
\s-1WARNING:\s0 If you're trying to rebuild the overview database, be sure to
stop innd\|(8) and delete or zero out the existing database before you start
for the best results. An overview rebuild should not be done while the
server is running. Unless the existing overview is deleted, you may end
up with problems like out-of-order overview entries, excessively large
overview buffers, and the like.
If ovmethod in inn.conf is \*(C`ovdb\*(C', you must have the ovdb processes
running while rebuilding overview. ovdb needs them available while
writing overview entries. You can start them by hand separate from the
rest of the server by running ovdb_init; see ovdb_init\|(8) for more
details.
"OPTIONS"
Header "OPTIONS" "-a" 4
Item "-a" Append to the
history file rather than generating a new one. If you
append to the main
history file, make sure
innd\|(8) is throttled or not
running, or you can corrupt the history.
"-b" 4
Item "-b" Delete any messages found in the spool that do not have valid Message-ID:
headers in them.
"-F" 4
Item "-F" Fork a separate process to flush overview data to disk rather than doing
it directly. The advantage of this is that it allows
makehistory to
continue to collect more data from the spool while the first batch of data
is being written to the overview database. The disadvantage is that up to
twice as much temporary disk space will be used for the generated overview
data. This option only makes sense in combination with
-O. With
buffindexed, the
overchan program is invoked to write overview.
"-f filename" 4
Item "-f filename" Rather than writing directly to
pathdb/history, instead write to
\fIfilename, also in
pathdb.
"-I" 4
Item "-I" Don't store overview data for articles numbered lower than the lowest
article number in
active. This is useful if there are for whatever
reason old articles on disk that shouldn't be available to readers or put
into the overview database.
"-l count" 4
Item "-l count" This option specifies how many articles to process before writing the
accumulated overview information out to the overview database. The
default is
10000. Since overview write performance is faster with
sorted data, each \*(L"batch\*(R" gets sorted. Increasing the batch size
with this option may further improve write performance, at the cost
of longer sort times. Also, temporary space will be needed to store
the overview batches. At a rough estimate, about 300 *
count bytes
of temporary space will be required (not counting temp files created
by
sort\|(1)). See the description of the
-T option for how to
specify the temporary storage location. This option has no effect
with buffindexed, because buffindexed does not need sorted
overview and no batching is done.
"-L load-average" 4
Item "-L load-average" Temporarily pause activities if the system load average exceeds the
specified level
load-average. This allows
makehistory to run
on a system being used for other purposes without monopolizing system
resources and thus making the response time for other applications
unacceptably slow. Using
nice\|(1) does not help much for that because
the problem comes from disk I/O usage, and
ionice\|(1) is not always
available or efficient.
"-O" 4
Item "-O" Create the overview database as well as the
history file. Overview
information is only required if the server supports readers; it is not
needed for a transit-only server (see
enableoverview in
inn.conf\|(5)).
If you are using the buffindexed overview storage method, erase all of
your overview buffers before running
makehistory with
-O.
"-S" 4
Item "-S" Rather than storing the overview data into the overview database, just write
it to standard output in a form suitable for feeding to
overchan later
if wished. When this option is used,
-F,
-I,
-l, and
-T are
ignored. This option only makes sense in combination with
-O.
"-s size" 4
Item "-s size" Size the history database for approximately
size pairs. Accurately
specifying the size is an optimization that will create a more
efficient database. (The size should be the estimated eventual size
of the
history file, typically the size of the old file, in lines.)
"-T tmpdir" 4
Item "-T tmpdir" If
-O is given,
makehistory needs a location to write temporary
overview data. By default, it uses
pathtmp, set in
inn.conf, but if
this option is given, the provided
tmpdir is used instead. This is
also used for temporary files created by
sort\|(1) (which is invoked in the
process of writing overview information since sorted overview information
writes faster). By default,
sort usually uses your system temporary
directory; see the
sort\|(1) man page on your system to be sure.
"-x" 4
Item "-x" If this option is given,
makehistory won't write out
history file
entries. This is useful mostly for building overview without generating
a new
history file.
"EXAMPLES"
Header "EXAMPLES" Here's a typical example of rebuilding the entire history and overview
database, removing broken articles in the news spool. This uses the
default temporary file locations and should be done while
innd isn't
running (or is throttled).
.Vb 1
makehistory -b -f history.n -O -l 30000 -I
.Ve
This will rebuild the overview (if using buffindexed, erase the
existing overview buffers before running this command) and leave a new
\fIhistory file as \*(C`history.n\*(C' in pathdb. To preserve all of the history
entries from the old history file that correspond to rejected articles or
expired articles, follow the above command with:
.Vb 2
cd <pathdb>
awk \*(AqNF == 2 { print }\*(Aq < history >> history.n
.Ve
(replacing the path with your pathdb, if it isn't the default). Then
look over the new history file for problems and run:
.Vb 1
makedbz -s \`wc -l < history.n\` -f history.n
.Ve
Then rename all of the files matching \*(C`history.n.*\*(C' to \*(C`history.*\*(C',
replacing the current history database and indices. After that, it's safe
to unthrottle innd.
For a simpler example:
.Vb 1
makehistory -b -f history.n -I -O
.Ve
will scan the spool, removing broken articles and generating history and
overview entries for articles missing from history.
To just rebuild overview:
.Vb 1
makehistory -O -x -F
.Ve
"FILES"
Header "FILES" "pathdb/history" 4
Item "pathdb/history" This is the default output file for
makehistory.
"pathtmp" 4
Item "pathtmp" Where temporary files are written unless
-T is given.
"HISTORY"
Header "HISTORY" Originally written by Rich
$alz <rsalz@uunet.uu.net> for InterNetNews and
updated by various other people since.
\f(CW$Id: makehistory.pod 8534 2009-06-23 18:08:14Z iulius $
"SEE ALSO"
Header "SEE ALSO" \fBactive\|(5),
ctlinnd\|(8),
dbz\|(3),
history\|(5),
inn.conf\|(5),
innd\|(8),
\fBmakedbz\|(8),
ovdb_init\|(8),
overchan\|(8).