|  |  | 
| EnderUNIX İpucuArkadaşıma gönder , Ana Sayfa[ qmail ] "yeni qmail sunucuya eski hesaplari tasima" - Hasan AHLATCI - (2007-05-30 14:01:33) [2569] Yeni bir qmail sunucu kurdunuz ve eski sunucunuzda olan kullanıcıları bu yeni sunucuya taşımak istiyorsunuz. izinler, dizinlerin farklı olması vs gibi sorunlar ile karsilasabilirsiniz. Bunun yerine asagidaki script eski mailleri yeni yerine tasima konusunda size yardimci olacaktir. script in calismasi icin gerekli olanlar: 1-Yeni serverda kullanicilar mysql de tutuluyor 2-mysql root sifresi yoktur ( isterseniz -psifre ile scripti degistirip password verebilisiniz) 3-vpopmail derlenirken her domain tek bir tabloda tutulacak sekilde derlenmis olmali her domain farkli tablolarda tutuluyor ise sql cumlecigi degistirilmelidir. 4-kullanicilarin tutuldugu db ismi vpopmail 5-eski serverin da qmail oldugu varsayilmistir. (dizin yapisi scrtip icinden degistirilebilir) 6-eski serverda ~vpopmail/domains/ dizini altinda tutulan domain klasorlerini yeni serverda /var/tmp altinda atildigi varsayilmis 7-scripti ./tasi.sh domainadi seklinde calistirmaniz gerekli eger test.com a ait kullanici boxlarini tasiyacaksaniz asagidaki komutu vermelisiniz #./tasi.sh test.com tasinan mail boxlar /var/tmp/ altinda domainname.tasinanlar olarak kaydedilmektedir. #more tasi.sh #!/bin/ksh cd /var/tmp/$1 ls > /var/tmp/$1.txt cd .. alan_adi=`echo $1` >/var/tmp/$1.tasinanlar while read line do echo \"use vpopmail;\" > test.sql echo \"select pw_dir from vpopmail where pw_domain=\'$alan_adi\' and pw_name=\'$line\';\" >> test.sql dizin=`mysql -uroot < test.sql` dizin2=`echo $dizin |awk -F\" \" \'{print $2}\'` if [[ -a $dizin2 ]] then find /var/tmp/$1/$line/Maildir/new/ -type f -maxdepth 1 -print -exec mv {} $dizin2/Maildir/new \; find /var/tmp/$1/$line/Maildir/cur/ -type f -maxdepth 1 -print -exec mv {} $dizin2/Maildir/cur \; find $dizin2/Maildir/new -type f -exec chown vpopmail:vchkpw {} \; find $dizin2/Maildir/new -type f -exec chmod 600 {} \; find $dizin2/Maildir/cur -type f -exec chown vpopmail:vchkpw {} \; find $dizin2/Maildir/cur -type f -exec chmod 600 {} \; echo $dizin2 >> /var/tmp/$1.tasinanlar fi done < /var/tmp/$1.txt Arkadaşıma gönder , Ana Sayfa |  |