chiark / gitweb /
pause and resume reading as appropriate
[innduct.git] / doc / man / mod-active.8
1 .\" $Revision: 5909 $
2 .TH MOD-ACTIVE 8
3 .SH NAME
4 mod-active \- batch processing of ctlinnd newgroup/rmgroup/changegroup
5 .SH SYNOPSIS
6 .B mod-active
7 [
8 .I ctlinnd_command_file
9 ]
10 .SH DESCRIPTION
11 .B mod-active
12 is a
13 .B perl
14 script that updates the
15 .I active
16 file based on its input lines of ctlinnd newgroup, rmgroup and
17 changegroup commands.  It pauses the server briefly while the existing
18 active file is read and rewritten, which not only keeps
19 .B innd
20 from updating the active file but also locks against other instances
21 of
22 .BR mod-active .
23 .PP
24 The input to
25 .B mod-active
26 can come either from one or more files named on the command line, or
27 from the standard input.  Typically its input is the output from the
28 .B docheckgroups
29 or
30 .B actsync
31 commands.  Every line which contains the string "ctlinnd newgroup",
32 "ctlinnd rmgroup", or "ctlinnd changegroup", optionally preceded by
33 whitespace and/or the path to 
34 .BR ctlinnd ,
35 is noted for the update.  Redundant commands, such as a newgroup
36 directive for a group that already exists, are silently ignored.  All
37 other lines in the input are also silently ignored.
38 .PP
39 After the new 
40 .I active
41 file has been generated, the existing one is renamed to
42 .I active.old
43 and the new one is moved into place.  The script then displays the
44 differences between the two files.
45 .PP
46 Any groups that were added to the
47 .I active
48 file are also added to the
49 .I active.times
50 file with the string "checkgroups-update".
51 .SH BUGS
52 Though
53 .B innd
54 is paused while
55 .B mod-active
56 works, it is not inconceivable that there could be a conflict if
57 something else tries to update the active file during the relatively
58 short time that mod-active is working.  The two most realistic ways I
59 can think of for this to happen are either by an administrator
60 concurrently doing a manual ctlinnd command, or by
61 .B innd 
62 receiving a control message, then
63 .B mod-active
64 pausing the server, then the control message handler script that
65 .B innd
66 forked running its own
67 .B ctlinnd
68 command while
69 .B mod-active
70 is working.
71 I've been using
72 .B mod-active
73 regularly for several years, though, and never had either problem.
74 .SH HISTORY
75 Written by David C Lawrence <tale@isc.org>.
76 .de R$
77 This is revision \\$3, dated \\$4.
78 ..
79 .SH "SEE ALSO"
80 .IR active (5),
81 .IR active.times (5),
82 .IR actsync (8),
83 .IR ctlinnd (8),
84 .IR innd (8).