44 lines
1.1 KiB
Bash
44 lines
1.1 KiB
Bash
#!/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
|