カテゴリ

qmail / vpopmail

vpopmailの全バーチャルドメイン・全メールボックスのバックアップを目的としたスクリプト。
vadddomain/vadduserなどで作成する。
※同じ環境を別のサーバにコピーする際を想定。

#! /bin/sh

PATH=$PATH:/home/vpopmail/bin

for i in `vdominfo | awk '/domain:/{print($2);}'`
do
ISALIAS=`vdominfo $i | grep "domain:" | grep "(alias of"`

if [ -z "$ISALIAS" ]; then
# real domain
# vadddomain
vuserinfo postmaster@$i \
| awk --assign=DOM=$i '
/clear passwd:/{ printf("vadddomain %s %s\n",DOM,$3); }
'
# vadduser
vuserinfo -D $i \
| egrep "name:|clear passwd:" \
| awk --assign=DOM=$i '
/name:/{ NAME = $2; }
/clear passwd:/{ PASS = $3; printf("vadduser %s@%s %s\n", NAME, DOM ,PASS); }
' \
| grep -v "postmaster@"

# valias
valias -s $i \
| awk --assign=DOM=$i '
BEGIN { FS = " -> "; }
{ printf("valias -i \"%s\" %s\n",$2,$1);}'

else
# alias domain
# vaddaliasdomain
vdominfo $i \
| grep domain: \
| sed -e 's/^.*(alias of \([^\)]*\))$/\1/g' \
| awk --assign=DOM=$i '{ printf("vaddaliasdomain %s %s\n",$2,DOM); }'
fi
done

コメント