Tips Daily Backup/Restore Zimbra Mail Server (Backup Harian)

Pada tulisan sebelumnya, tips-untuk-backup/restore/moving zimbra mail server sudah dijelaskan bagaimana cara melakukan backup zimbra kemudian restore, bahkan memindahkannya ke Zimbra Mail Server baru apabila melakukan migrasi dari Zimbra yang lama ke sistem Zimbra Mail Server yang baru. Ada beberapa metode backup yang dapat dilakukan pada zimbra mail server, berikut beberapa metode tersebut :

Dalam melakukan backup, adakalanya dibutuhkan sistem backup harian, mingguan, bulanan bahkan tahunan. Dalam tulisan kali ini, akan dijelaskan cara backup harian mailbox zimbra menggunakan script.

1. Buat script berikut dengan nama daily-backup.sh
[code language=’cpp’]
#!/bin/bash

# To backup in zip format:
#FORMAT=zip

# Ta backup em tar gzipped format:
FORMAT=tgz

# Where your zimbra lives
ZHOME=/opt/zimbra

# Path to backup base dir
ZBACKUP=/srv/backup/harian

# Where the configuration files for zimbra lives
ZCONFD=$ZHOME/conf

# Use this DATE to have /backup/mailbox/{Mon,Tue,Wed…} directory of backups
#DATE=DATE=`date +”%a”`

# Use this DATE to have (eg.) /backup/mailbox/30112010
DATE=`date +”%d%m%y”`

# Where to store the files
ZDUMPDIR=$ZBACKUP/$DATE

# Path to zmmailbox
ZMBOX=/opt/zimbra/bin/zmmailbox

# If you dont pass any argument, then I’ll backup just what happened from yesterday. If you do, I’ll perform a full backup of the account.
if [ $# -eq 0 ]; then
qd=`date –date=’1 days ago’ +”%m/%d/%Y”`
query=”&query=after:$qd”
fi

# Check if the backup dir exists, create if not.
if [ ! -d $ZDUMPDIR ]; then
mkdir -p $ZDUMPDIR
fi

# Querying for the accounts then backing up
for mbox in `su – zimbra -c ‘zmprov -l gaa’`
do
echo “Processing mailbox $mbox backup…”
$ZMBOX -z -m $mbox getRestURL “//?fmt=${FORMAT}$query” > $ZDUMPDIR/$mbox.${FORMAT}
done

echo “Zimbra Daily mailbox backup has been completed successfully.”
[/code]
2. Lakukan proses editing pada parameter # Path to backup base dir folder tempat file backup Zimbra ditempatkan ( dalam contoh saya, file backup ada pada folder /srv/backup/harian)

3. Eksekusi file script untuk backup mailbox Zimbra
[code language=’cpp’]
chmod +x daily-backup.sh
./daily-backup.sh
[/code]
4. Zimbra akan otomatis melakukan proses export mailbox. Pada folder /srv/backup/harian akan terbuat folder tanggal backup dilakukan dan berisi nama user yang telah dibackup

Untuk proses restore, dapat merujuk pada tulisan berikut : Proses restore zimbra mailbox

Silakan dicoba dan semoga bermanfaat 😀

6 thoughts on “Tips Daily Backup/Restore Zimbra Mail Server (Backup Harian)

  1. Mas tolong Bantu buat script tuk menghapus hasil backup -2 current date!!
    karna tiap hari akan di lakukan penghapusan manual file hasil backub,
    cth:
    saya menggunakan script backub dari mas vavai
    dir: \home\zimbra-backub\
    setiap hari akan menghasilkan file backupan berdasarkan tahun-bulan-tgl,
    20121001.tar.gz 20121002.tar.gz 20121003.tar.gz 2012
    pertanyaan saya gimana membuat script menghapus – 2 hari secara otomaties. agar tidak lagi dilakukan secara manual

    terima kasih

  2. Mas tolong Bantu buat script tuk menghapus hasil backup -2 current date!!
    karna tiap hari akan di lakukan penghapusan manual file hasil backub,
    cth:
    saya menggunakan script backub dari mas vavai
    dir: \home\zimbra-backub\
    setiap hari akan menghasilkan file backupan berdasarkan tahun-bulan-tgl,
    20121001.tar.gz 20121002.tar.gz 20121003.tar.gz 2012
    pertanyaan saya gimana membuat script menghapus – 2 hari secara otomaties. agar tidak lagi dilakukan secara manual

    terima kasih

  3. Salam Mas Vavai,
    Ijinkan saya bertanya 🙂

    kebetulan semua user pada mail-clientnya saya setting dengan pop3 sehingga jika ada email masuk langsung ditarik ke PC masing2.

    kira2 metode backup apa yang cocok untuk kondisi yang saya terapkan diatas?
    apakah bisa dilakukan metode backup otomatis data email user pada setiap kali mereka menerima email.

    Terima kasih

  4. Dear Mas Vavai,
    saya coba menjalankan scrip di atas, tetapi ada pesan eror sebagai berikut :

    #!/bin/bash

    # To backup in zip format:
    #FORMAT=zip

    # Ta backup em tar gzipped format:
    FORMAT=tgz

    # Where your zimbra lives
    ZHOME=/opt/zimbra

    # Path to backup base dir
    ZBACKUP=/srv/backup/mailbox

    # Where the configuration files for zimbra lives
    ZCONFD=$ZHOME/conf

    # Use this DATE to have /backup/mailbox/{Mon,Tue,Wed…} directory of backups
    #DATE=DATE=`date +”%a”`

    # Use this DATE to have (eg.) /backup/mailbox/30112010
    DATE=`date +”%d%m%y”`

    # Where to store the files
    ZDUMPDIR=$ZBACKUP/$DATE

    # Path to zmmailbox
    ZMBOX=/opt/zimbra/bin/zmmailbox

    # If you dont pass any argument, then I’ll backup just what happened from yesterday. If you do, I’ll perform a full backup of the account.
    if [ $# -eq 0 ]; then
    qd=`date –date=’1 days ago’ +”%m/%d/%Y”`
    query=”&query=after:$qd”
    fi

    # Check if the backup dir exists, create if not.
    if [ ! -d $ZDUMPDIR ]; then
    mkdir -p $ZDUMPDIR
    fi

    # Querying for the accounts then backing up
    for mbox in `su – zimbra -c ‘zmprov -l gaa’`
    do
    echo “Processing mailbox $mbox backup…”
    $ZMBOX -z -m $mbox getRestURL “//?fmt=${FORMAT}$query” > $ZDUMPDIR/$mbox.${FORMAT}
    done

    echo “Zimbra Daily mailbox backup has been completed successfully.”

    mail:/srv # ./daily-backup.sh
    -bash: ./daily-backup.sh: /bin/bash^M: bad interpreter: No such file or directory

    Terima Kasih

  5. dear mas vavai,
    cara merubah domain zimbra server gmn mas ?
    misal dari @mail.domain.com menjadi ke @domain.com

    mohon pencerahanya ..
    terima kasih
    harap maklum mai newbie

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.