Add 'ezmlm-export.sh'

This commit is contained in:
Sven Seeberg 2020-05-14 16:42:18 +02:00
parent a95312e613
commit 80309033fb
1 changed files with 43 additions and 0 deletions

43
ezmlm-export.sh Normal file
View File

@ -0,0 +1,43 @@
#!/bin/bash
rm /root/ezmlm-lists.txt
echo "domain;list;public_subscription;moderated;" > /root/listconfig.csv
echo "list;member;" > /root/listmembers.csv
echo "Finding ezmlm directories ..."
find /var/vpopmail/domains -maxdepth 3 -name ".qmail-*-reject-default" -type l -exec readlink -f {} >> /root/ezmlm-lists.txt \;
echo "Reading list members ..."
while IFS= read -r LINE;
do
LISTDIR=$(dirname $LINE)
LISTNAME=$(/usr/bin/basename $LISTDIR)
DOMAIN_DIR=$(/usr/bin/dirname $LISTDIR)
DOMAIN=$(/usr/bin/basename $DOMAIN_DIR)
echo "$LISTNAME@$DOMAIN"
if test -f "$LISTDIR/public"; then
PUBLIC_SUBSCRIPTION=1
else
PUBLIC_SUBSCRIPTION=0
fi
if [[ -f "$LISTDIR/modpost" && -f "$LISTDIR/modpostonly" ]]; then
MODERATED=1
else
MODERATED=0
fi
LIST_CONFIG="$DOMAIN;$LISTNAME;$PUBLIC_SUBSCRIPTION;$MODERATED"
echo "$LIST_CONFIG" >> /root/listconfig.csv
echo $LIST_CONFIG
MEMBERS=$(ezmlm-list $LISTDIR)
while IFS= read -r MEMBER; do
echo "$LISTNAME@$DOMAIN;$MEMBER;" >> /root/listmembers.csv
done <<< "$MEMBERS"
done < /root/ezmlm-lists.txt