4 mod-active \- batch processing of ctlinnd newgroup/rmgroup/changegroup
8 .I ctlinnd_command_file
14 script that updates the
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
20 from updating the active file but also locks against other instances
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
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
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.
41 file has been generated, the existing one is renamed to
43 and the new one is moved into place. The script then displays the
44 differences between the two files.
46 Any groups that were added to the
48 file are also added to the
50 file with the string "checkgroups-update".
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
62 receiving a control message, then
64 pausing the server, then the control message handler script that
66 forked running its own
73 regularly for several years, though, and never had either problem.
75 Written by David C Lawrence <tale@isc.org>.
77 This is revision \\$3, dated \\$4.