---
name: "mod-active"
section: "8"
platform: "linux"
package: "inn"
version: "2.7.4-4"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/mod-active"
---

# mod-active(8)

Batch processing of newsgroups creation and removal commands

## NAME

mod-active - Batch processing of newsgroups creation and removal commands

## SYNOPSIS

**mod-active** \[*ctlinnd-command-file* ...\]

## DESCRIPTION

**mod-active** is a Perl script that updates the *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 **innd** from updating the *active* file but also locks against other instances of **mod-active**.

The script must be run as the news user.

The input to **mod-active** can come either from one or more *ctlinnd-command-file* files named on the command line, or from the standard input.  Typically its input is the output from the **docheckgroups** or **actsync** commands.  Every line which contains the string `"ctlinnd` `newgroup"`, `"ctlinnd rmgroup"`, or `"ctlinnd changegroup"`, optionally preceded by whitespace and/or the path to **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.  After the new *active* file has been generated, the existing one is renamed to *active.old* and the new one is moved into place.  The script then displays the differences between the two files.  Any groups that were added to the *active* file are also added to the *active.times* file with the string `"checkgroups-update"`.

Please note that no syntax checking is performed on group names by **mod-active**.

## BUGS

Though **innd** is paused while **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 for this to happen are either by an administrator concurrently doing a manual **ctlinnd** command, or by **innd** receiving a control message, then **mod-active** pausing the server, then the control message handler script that **innd** forked running its own **ctlinnd** command while **mod-active** is working.  Note that such scenarios are *very* unlikely to happen.

## HISTORY

Written by David C Lawrence \<tale@isc.org\> for InterNetNews.  Converted to POD by Julien Elie.

## SEE ALSO

[active(5)](/active/5.md), [active.times(5)](/active.times/5.md), [actsync(8)](/actsync/8.md), [ctlinnd(8)](/ctlinnd/8.md), [docheckgroups(8)](/docheckgroups/8.md), [innd(8)](/innd/8.md).
