Add 'ezmlm-export.sh'
This commit is contained in:
parent
a95312e613
commit
80309033fb
|
@ -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
|
Loading…
Reference in New Issue