Salah satu masalah utama yang dihadapi selama mengelola email server adalah kemampuan untuk melakukan hot/live backup, proses backup yang dijalankan pada saat Zimbra sedang aktif.
Zimbra Mail Server versi commercial memiliki kemampuan live backup secara default. Hal ini merupakan salah satu perbedaan/feature yang tidak disertakan pada versi open source selain support online dari Zimbra dan kemampuan akses BlackBerry.
Meski demikian, versi open source bukan tanpa pilihan backup sama sekali
Berbagai script backup yang dapat diaplikasikan pada Zimbra Mail Server versi Open Source biasanya membutuhkan proses penghentian service Zimbra untuk beberapa saat. Kesemuanya dilakukan secara otomatis dan biasanya menggunakan fasilitas rsync yang mampu menyalin data ukuran besar secara cepat.
Saya pribadi, setelah mencoba berbagai skenario akhirnya memutuskan untuk menempatkan Zimbra Mail Server didalam sistem virtual semacam VMWare atau VirtualBox. Cara ini jauh lebih aman dan lebih mudah pengelolaannya dan satu hal yang menyenangkan, Zimbra Mail Server yang berjalan didalam VirtualBox openSUSE 11.1 saya bisa dibackup secara live. Hal ini bisa terjadi karena yang dibackup bukan Zimbra secara sistem melainkan image dari sistem/harddisk virtual.
Konsep ini semestinya bukan hanya dapat diterapkan di openSUSE/SLES melainkan juga pada distro lain seperti Ubuntu, Red Hat, Centos, Fedora maupun Debian.
Kemampuan backup disaat sedang aktif ini memberikan banyak manfaat, misalnya kemudahan backup dan restore serta proses penyalinan data yang berlangsung secara cepat.
Berikut adalah script sederhana untuk menjalankan backup Zimbra yang saya lakukan di email server perusahaan, dengan konfigurasi sebagai berikut :
- IP 192.168.0.4 adalah server IBM X Series 3400 yang menjalankan openSUSE 11.1. Didalamnya ada VirtualBox versi terakhir yang menjalankan openSUSE 10.3+Zimbra Mail Server. Image Zimbra disimpan di folder /srv/hd2/vbox-zimbra. Image bersifat dynamic storage. Saya cadangkan 80 GB dan baru digunakan sebesar 10 GB untuk user account sekitar 100 user. Sebagian user menggunakan email client dan sebagian lagi menggunakan webmail.
- Script diletakkan di server backup dengan IP 192.168.0.7. Dijalankan oleh cron job secara periodik 4 jam sekali. Sesuaikan waktu dan periode dengan kebutuhan ditempat anda, karena dikantor saya setting tersebut cukup memadai. Email client menarik data setiap 10 menit sekali.
- Backup ini bukanlah backup dengan tujuan menghasilkan 2 server yang similar/ identik sama persis 100%. Jika itu yang diinginkan, yang anda perlukan adalah duplikat/backup mx server yang otomatis melakukan replikasi.
- Proses backup yang dilakukan akan berlangsung secara otomatis kedalam 2 tahap. Tahap pertama berlangsung secara periodik sesuai waktu backup dan disimpan kedalam folder Current. Tahap kedua adalah menyimpan backup mingguan kedalam folder Tahun/Bulan/Minggu X. Hal ini karena perusahaan menerapkan kebijakan backup harian dan backup mingguan. Data backup mingguan akan disalin kembali ke server backup cadangan.
- Untuk mengantisipasi data backup yang menyita kapasitas harddisk, script diset untuk secara otomatis menghapus data backup mingguan 1 bulan yang lalu.
- Script ini harus dipadukan dengan cron jobs (kecuali anda mau secara manual menjalankannya
) dan menggunakan fasilitas rsync. Silakan merujuk pada tulisan mengenai rsync untuk contoh konfigurasinya. - Beware : Script yang dibuat masih sangat sederhana dan kemungkinan tidak mencerminkan kode pemrogramman yang baik. Maklum, selama bertahun-tahun melakukan coding dengan Visual Basic
. Jika anda mampu memodifikasi kebentuk lain yang lebih baik saya akan sangat mengapresiasinya.
#!/bin/bash #Hapus Layar clear echo "##################################################################################" echo "# Zimbra-virtual-backup #" echo "# Skrip untuk backup virtual image zimbra (vmware, virtualbox) secara periodik #" echo "# Masim "Vavai" Sugianto - vavai@vavai.com - http://vavai.com/blog/v2 #" echo "# Dikirimkan pada Komunitas Zimbra Indonesia - http://zimbra.web.id #" echo "# Lisensi : GPL, General Public License #" echo "##################################################################################" sourcedir="192.168.0.4::srv/hd2/vbox-zimbra/" targetdir="/srv/www/htdocs/backup/backup-zimbra/" targetutama="$targetdir/Current/" bulan_skrg=$(date '+%m') tahun_skrg=$(date '+%Y') tgl_skrg=$(date '+%d') minggu=$(($tgl_skrg/7)) #Process if [ $minggu -eq 1 ]; then targetdir2="$targetdir`date +%Y`/`date +%m`/Minggu-I" mingguan="1" elif [ $minggu -eq 2 ]; then targetdir2="$targetdir`date +%Y`/`date +%m`/Minggu-II" mingguan="1" elif [ $minggu -eq 3 ]; then targetdir2="$targetdir`date +%Y`/`date +%m`/Minggu-III" mingguan="1" elif [ $minggu -eq 4 ]; then targetdir2="$targetdir`date +%Y`/`date +%m`/Minggu-IV" mingguan="1" elif [ $minggu -eq 5 ]; then targetdir2="$targetdir`date +%Y`/`date +%m`/Minggu-V" mingguan="1" else targetdir2="$targetdir/Current/" mingguan="0" fi #buat folder mkdir -p "$targetdir/Current/" mkdir -p "$targetdir`date +%Y`/" mkdir -p "$targetdir`date +%Y`/`date +%m`/" mkdir -p $targetutama #backup proses tahap 1 rsync -avh --delete-after $sourcedir $targetutama #backup proses tahap 2 (backup mingguan) if [ $mingguan -eq "1" ]; then rsync -avh --delete-after $targetutama $targetdir2; fi #Hapus folder 1 bulan yang lalu if [ $bulan_skrg -eq 1 ] ; then vbulan=12 vtahun=$(($tahun_skrg-1)) else vbulan=$(($bulan_skrg-1)) vtahun=$tahun_skrg fi if [ $vbulan -lt 10 ]; then vbulan=0$vbulan fi if [ $minggu -eq 1 ]; then deldir="$targetdir$vtahun/$vbulan/Minggu-I" elif [ $minggu -eq 2 ]; then deldir="$targetdir$vtahun/$vbulan/Minggu-II" elif [ $minggu -eq 3 ]; then deldir="$targetdir$vtahun/$vbulan/Minggu-III" elif [ $minggu -eq 4 ]; then deldir="$targetdir$vtahun/$vbulan/Minggu-IV" else deldir="$targetdir$vtahun/$vbulan/Minggu-V" fi rm -rf $deldir #mail -s "ini subject" "vavai@vavai.com" < "Test konfirmasi backup Zimbra"
Kalau malas mengetik, silakan download script-backup-zimbra


awesome master vavai
jadi kalu gak virtual gak bisa live backup ya bro?
Hmm, great solution, bisa di coba nieh untuk implement kedepan. Klo boleh tahu spek yag bagus tuk server yg di tanem VM ini seberapa besar yah??
keren, boleh juga di coba
thx tipsnya. idenya bisa dipakai u/ keperluan lain juga
Saya kira bikin MX Backup, soalnya di gambar atas itu kan MX Backup pak..
Bisa gak zimbra menjadi MX Backup ?
regards,
coba dengan ini lebih
http://pve.proxmox.com/wiki/Zimbra
bisa di setup 2, mesin backup snapshot pakai web base
di tempat saya sudah up lebih kurang 600 users so far si aman tentram
install zimbra pakai debian diatas proxmox …
Life So beautiful
untuk scedule exekusi backup gimana mas? kalau pake cronjob untuk naruh scripnya gimana bos?? atau setting di webmin nya ada tutorialnya ndak
Sayangnya metode live backup ini belum dapat digunakan pada mesin (fisik) yang berbeda. Untuk membuat MX backup diperlukan server yang similiar, kemarin membaca di forum ada yg menggunakan drbd dan juga imapsync namun sayang, untuk newbie seperti saya ini pengaplikasiannya cukup rumit [karena kurang wawasan kali
]
Semoga teman-teman ada yang melakukan riset untuk mx backup dan live backup pada 2 mesin yang berbeda.
Regards,
kalau virtualboxnya digunakan untuk samba server dan jalan diatas ubuntu, konfigurasi backup image .vdi nya gmn boss….?
[...] Beware : Script yang dibuat masih sangat sederhana dan kemungkinan tidak mencerminkan kode pemrogramman yang baik. Maklum, selama bertahun-tahun melakukan coding dengan Visual Basic . Jika anda mampu memodifikasi kebentuk lain yang lebih baik saya akan sangat mengapresiasinya. view source [...]
Greetings to all, This page is first-class and so is the way the subject was developped. I like some of the comments too although I would suggest everyone stays on the subject matter so that to add value to the message. It will be also encouraging to the writer if we all could mention it (for some of us who use social media such as a digg, twitter,..). Again, Thanks..