Pada umumnya, jika seorang system admin mau mengganti mail server dengan server yang baru atau sekedar mengupgrade mail server, maka yang wajib dilakukan pertama kali adalah membackup terlebih dahulu isi mailbox para user di server. Hal ini dikarenakan agar data-data yang masih tersimpan di mail server lama bisa dipindahkan ke mesin mail server yang baru. Artikel kali ini akan menjelaskan tentang bagaimana caranya membackup dan merestore mailbox di Zimbra.A. Backup mailbox
Zimbra memiliki cara yang mudah untuk membackup mailbox tersebut yaitu dengan cara:
# su - zimbra # cd /tmp # zmmailbox -z -m $ACCOUNT getRestURL '//?fmt=tgz' > $NAME.tgzUbah $ACCOUNT menjadi nama user yang akan kita backup mailboxnya dan $NAME menjadi nama filenya. Misalnya kita ingin membackup user This e-mail address is being protected from spambots, you need JavaScript enabled to view it dan filenya backupnya diberi nama arief.tgz, maka perintah tersebut menjadi:
# zmmailbox -z -m arief\@latihanlinux.co.cc getRestURL '//?fmt=tgz' > arief.tgzNamun, bagaimana jika ternyata kita mempunyai akun yang banyak? Tentu kita akan sangat kelelahan untuk satu persatu menuliskan perintah tersebut. Maka dari itu kita perlu untuk membuat skrip agar memudahkan kita untuk membackup seluruh mailbox para user tersebut. Buka folder di /tmp lalu buat file backupmailbox.sh yang isinya seperti ini.
#!/bin/bash ### START CONFIGURATION ### DIR="/tmp/zimbra-backup"; OUTPUT="/tmp/zimbra-backup"; ### END OF CONFIGURATION ### echo "Start Backup => `date`" USERS=`su - zimbra -c 'zmprov -l gaa'`; ### The above command work on Zimbra 5.x. If you use Zimbra 6.x, use ### USERS=`su - zimbra -c 'zmprov -l gaa'`; instead DATE=`date +%Y%m%d`; if [ ! -d $DIR ]; then mkdir $DIR; chown zimbra:zimbra $DIR; fi for ACCOUNT in $USERS; do NAME=`echo $ACCOUNT`; echo "Processing mailbox $NAME backup..." su - zimbra -c "zmmailbox -z -m $ACCOUNT getRestURL '//?fmt=tgz' > $DIR/$NAME.tgz"; done echo "Zimbra mailbox backup has been completed successfully." echo "Finish Backup => `date`"Kemudian rubah file tersebut agar bisa dieksekusi dengan merubahnya menjadi mode eksekusi. Kemudian, untuk menjalankan file tersebut ketik perintah berikut:
# ./backupmailbox.shMaka file tersebut akan membackup seluruh mailbox para user di server zimbra.
B. Restore Zimbra
Setelah berhasil membackup seluruh mailbox para user, tiba saatnya bagi kita untuk merestore hasil backup tadi. Buka folder /tmp kemudian buat file restorezimbra.sh terus masukkan script ini.
#!/bin/bash
### START CONFIGURATION ###
DIR="/tmp/test/20110624";
### END OF CONFIGURATION ###
echo "Start to Backup => `date`"
clear
echo "Retrieve zimbra user name..."
USERS=`su - zimbra -c 'zmprov -l gaa'`;
for ACCOUNT in $USERS; do
NAME=`echo $ACCOUNT`;
echo "Restoring $NAME mailbox..."
su - zimbra -c "zmmailbox -z -m $NAME postRestURL '//?fmt=tgz&resolve=reset' $DIR/$NAME.tgz";
done
echo "All mailbox has been restored sucessfully"
echo "Finish Backup => `date`"
Rubah pada bagian DIR dengan letak folder hasil backup tadi. Kemudian untuk menjalankan file tersebut, ketik perintah di bawah ini:# ./restorezimbra.shDan file tersebut akan merestore seluruh mailbox yang berhasil kita backup. Jika kita ingin hanya merestore user-user tertentu, ikuti langkah-langkah berikut:
# su - zimbra # cd /tmp # zmmailbox -z -m $NAME1 postRestURL '//?fmt=tgz&resolve=reset' $NAME2.tgzGanti $NAME dengan alamat email user tersebut dan $NAME2 dengan file hasil backup user tersebut. Misalnya alamat emailnya adalah This e-mail address is being protected from spambots, you need JavaScript enabled to view it , maka perintah tersebut menjadi:
# zmmailbox -z -m arief\@latihanlinux.co.cc postRestURL '//?fmt=tgz&resolve=reset' arief\@latihanlinux.co.cc.tgz
Referensi:
14 Ramadhan 1432 H
14 Agustus 2011 M
14 Agustus 2011 M
| Comments |
|
Powered by !JoomlaComment 3.26














Dear Accank, Hal itu tergantung dari...
Dear Ronald, Terima kasih atas saran...
Untuk pengguna debian 6.0 (squeeze) d...
mas sy ingin bertanya,dari semua netw...
Dear Syukran, Mungkin hadits ini bis...