[PYTHON] Modifier les paramètres de lot avec la commande withlist de Mailman

Il peut être nécessaire de modifier les paramètres de plusieurs listes de diffusion, par exemple lorsque l'archive des listes de diffusion est supprimée en raison de changements dans la politique de fonctionnement de l'organisation, mais il est nécessaire de modifier les paramètres de plusieurs listes de diffusion une par une à partir de l'écran de gestion du Web. C'est difficile.

Dans de tels cas, Mailman peut utiliser la commande withlist.

Tout d'abord, vérifiez que vous pouvez modifier les paramètres d'une liste de diffusion. Utilisez la commande dumpdb pour vérifier les paramètres actuels enregistrés au format binaire.

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

L'archivage est actuellement activé sur la liste de diffusion mlname. Changez ceci en désactivé.

En guise de préparation, préparez le traitement de la modification des paramètres avec un script Python. Étant donné que l'objet de la liste de diffusion est passé en argument, modifiez le paramètre entre Lock () et Save ().

disable_archive.py


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

Appliquez le processus écrit dans le script Python avec la commande withlist.

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

Vous pouvez maintenant modifier les paramètres. Je vais le vérifier au cas où.

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

Après avoir confirmé que les paramètres peuvent être modifiés, utilisez l'option "-a" au lieu du nom de la liste de diffusion pour l'appliquer à toutes les listes de diffusion.

# 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)
(réduction)
Loading list ml99 (unlocked)

Les paramètres ont maintenant été modifiés sur toutes les listes de diffusion. Au cas où, échantillonnez-en correctement et vérifiez que les paramètres ont été modifiés.

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

Cela semble aller.

Mailman est généralement exploité à partir de l'écran de gestion du Web, mais si vous pouvez le faire fonctionner à partir de la ligne de commande, il sera plus facile à utiliser à la fois.

Recommended Posts

Modifier les paramètres de lot avec la commande withlist de Mailman
Modifier les paramètres de nouvelle tentative avec boto3
Modifier les paramètres de vim
Changer les paramètres IP en ACL de conoha avec python
Changement de lot de nom de fichier
Paramètres d'achèvement de la commande Django
Essayez Juniper JUNOS PyEz (bibliothèque python) Memo 3 ~ Modifier les paramètres avec PyEz ~
Modifier les paramètres d'un nœud dans un super nœud avec le script SPSS Modeler Python