[PYTHON] Ändern Sie die Batch-Einstellungen mit dem Befehl withlist von Mailman

Es kann erforderlich sein, die Einstellungen mehrerer Mailinglisten zu ändern, z. B. wenn das Archiv von Mailinglisten aufgrund von Änderungen in der Betriebsrichtlinie der Organisation gelöscht wird. Es ist jedoch erforderlich, die Einstellungen mehrerer Mailinglisten einzeln über den Verwaltungsbildschirm des Webs zu ändern. Es ist schwierig.

In solchen Fällen kann Mailman den Befehl withlist verwenden.

Überprüfen Sie zunächst, ob Sie die Einstellungen für eine Mailingliste ändern können. Verwenden Sie den Befehl dumpdb, um die aktuellen Einstellungen zu überprüfen, die im Binärformat gespeichert sind.

# cd /var/lib/mailman
# bin/dumpdb -p lists/mlname/config.pck | grep archive
    'archive': True,
    'archive_private': 0,
    'archive_volume_frequency': 1,

Die Archivierung ist derzeit in der mlname-Mailingliste aktiviert. Ändern Sie dies in deaktiviert.

Bereiten Sie zur Vorbereitung die Verarbeitung von Einstellungsänderungen mit einem Python-Skript vor. Da das Mailinglistenobjekt als Argument übergeben wird, ändern Sie die Einstellung zwischen Lock () und Save ().

disable_archive.py


def disable_archive(mlist):
    mlist.Lock()
    mlist.archive = False
    mlist.Save()

Wenden Sie den im Python-Skript geschriebenen Prozess mit dem Befehl withlist an.

# withlist -r disable_archive mlname
Importing disable_archive...
Running disable_archive.disable_archive()...
Loading list mlname (unlocked)
Unlocking (but not saving) list: mlname
Finalizing

Sie können jetzt die Einstellungen ändern. Ich werde es für alle Fälle überprüfen.

# bin/dumpdb -p lists/mlname/config.pck | grep archive
    'archive': False,
    'archive_private': 0,
    'archive_volume_frequency': 1,

Nachdem Sie bestätigt haben, dass die Einstellungen geändert werden können, verwenden Sie die Option "-a" anstelle des Mailinglistennamens, um sie auf alle Mailinglisten anzuwenden.

# withlist -r disable_archive -a
Importing disable_archive...
Running disable_archive.disable_archive()...
Loading list ml1 (unlocked)
Loading list ml2 (unlocked)
Loading list ml3 (unlocked)
(Kürzung)
Loading list ml99 (unlocked)

Die Einstellungen wurden nun in allen Mailinglisten geändert. Probieren Sie für alle Fälle einige richtig aus und überprüfen Sie, ob die Einstellungen geändert wurden.

# bin/dumpdb -p lists/ml1/config.pck | grep archive
    'archive': False,
    'archive_private': 0,
    'archive_volume_frequency': 1,

Es scheint in Ordnung zu sein.

Mailman wird normalerweise über den Verwaltungsbildschirm des Webs bedient. Wenn Sie es jedoch über die Befehlszeile bedienen können, ist es einfacher, es sofort zu bedienen.

Recommended Posts

Ändern Sie die Batch-Einstellungen mit dem Befehl withlist von Mailman
Ändern Sie die Wiederholungseinstellungen mit boto3
Ändern Sie die vim-Einstellungen
Ändern Sie die IP-Einstellungen mit Python in ACL von conoha
Stapeländerung des Dateinamens
Einstellungen für die Vervollständigung des Django-Befehls
Versuchen Sie Juniper JUNOS PyEz (Python-Bibliothek) Memo 3 ~ Ändern Sie die Einstellungen mit PyEz ~
Ändern Sie die Einstellungen eines Knotens in einem Superknoten mit dem Python-Skript SPSS Modeler