.\" $Revision: 1.1 $
.TH MOD-ACTIVE 8
.SH NAME
mod-active \- batch processing of ctlinnd newgroup/rmgroup/changegroup
.SH SYNOPSIS
.B mod-active
[
.I ctlinnd_command_file
]
.SH DESCRIPTION
.B mod-active
is a
.B perl
script that updates the
.I active
file based on its input lines of ctlinnd newgroup, rmgroup and
changegroup commands.  It pauses the server briefly while the existing
active file is read and rewritten, which not only keeps
.B innd
from updating the active file but also locks against other instances
of
.B mod-active.
.PP
The input to
.B mod-active
can come either from one or more files named on the command line, or
from the standard input.  Typically its input is the output from the
.B docheckgroups
or
.B actsync
commands.  Every line which contains the string "ctlinnd newgroup",
"ctlinnd rmgroup" or "ctlinnd changegroup", optionally preceded by
whitespace and/or the path to 
.B ctlinnd,
is noted for the update.  Redundant commands, such as a newgroup
directive for a group that already exists, are silently ignored.  All
other lines in the input are also silently ignored.
.PP
After the new 
.I active
file has been generated, the existing one is renamed to
.I active.old
and the new one is moved into place.  The script then displays the
differences between the two files.
.PP
Any groups that were added to the
.I active
file are also added to the
.I active.times
file with the string "checkgroups-update".
.SH BUGS
Though
.B innd
is paused while
.B mod-active
works, it is not inconceivable that there could be a conflict if
something else tries to update the active file during the relatively
short time that mod-active is working.  The two most realistic ways I
can think of for this to happen are either by an administrator
concurrently doing a manual ctlinnd command, or by
.B innd 
receiving a control message, then
.B mod-active
pausing the server, then the control message handler script that
.B innd
forked running its own
.B ctlinnd
command while
.B mod-active
is working.
I've been using
.B mod-active
regularly for several years, though, and never had either problem.
.SH HISTORY
Written by David C Lawrence <tale@isc.org>.
.de R$
This is revision \\$3, dated \\$4.
..
.SH "SEE ALSO"
.IR active (5),
.IR actsync (8),
.IR ctlinnd (8),
.IR innd (8).
