#!/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