28 Ekim 2012 Pazar

Zimbra Open Source Edition online yedekleme

Mail sunucusu olarak Zimbra Open Source Edition kullanıyorsanız, sistemin kendi içinde online yedekleme yapamadığınızı göreceksiniz. Online yedekleme sunucunun Network Edition versiyonunda bulunmaktadır.

Yedekleme için kullanabileceğiniz yöntemleri buradaki linkten kontrol edebilirsiniz. Ben buradaki seçeneklerden "HOT Backup and HOT Restore" linkinde bulunan Zmbkpose scriptini kullanarak yedekleme ve geri yükleme yapıyorum.

Öncelikle buradan Zmbkpose scriptinin son versiyonunu indirelim. Zipli dosya içinden çıkan zmbkpose.conf dosyasını /etc/zmbkpose altına kopyalayalım. zmbkpose klasörü yoksa açalım.

zmbkpose scriptini ise /usr/bin içine kopyalayalım. Executable yapmak için aşağıdaki kodu kullanalım.

# chmod +x /usr/bin/zmbkpose

Eğer sunucunuzda curl yüklü değilse aşağıdaki komutla yükleyelim.

# apt-get install curl

Daha sonra /etc/zmbkpose/zmbkpose.conf içindeki ayarları yapalım.

BACKUPUSER=zimbra
WORKDIR=/opt/zimbra/backup
ADMINUSER=admin@yourdomain.com
ADMINPASS=******
LDAPMASTERSERVER=ldap://yourdomain.com:389
LDAPZIMBRADN=uid=zimbra,cn=admins,cn=zimbra
LDAPZIMBRAPASS=*******

diğer değerler varsayılan olarak kalabilir.

Burada dikkat etmemiz gereken birkaç nokta var. ADMINUSER yazarken benim örneğimdeki gibi tam mail adresini yazmalısınız.

LDAP ayarlarını görmek için zimbra kullanıcısına geçerek zmlocalconfig komutunu kullanın. Bu konutu kullandığınızda karşınıza LDAP bilgileri çıkacaktır. zimbra_ldap_user, zimbra_ldap_userdn, ldap_url bilgilerini burada bulacaksınız. LDAPZIMBRAPASS değerini de aşağıdaki komutla bulabilirsiniz.

# zmlocalconfig -m nokey -s zimbra_ldap_password

Bu değerleri configürasyon dosyasına doğru bir şekilde kaydettiyseniz. Doğrudan zmbkpose scriptini Zimbra kullanıcısındayken çalıştırabilirsiniz. Herhangi bir opsiyon vermeden çalıştırırsanız scriptin alacağı değerleri size gösterecektir.

En basit olarak aşağıdaki komut tüm kullanıcıarın mailllerini yedekleyecektir.

# zmbkpose -f

Bu komutla zimbrayı full yedek almış olursunuz. Bu yedekten herhangi bir kullanıcının maillerini geri yüklemek isterseniz aşağıdaki komutu kullanmanız yeterlidir.

# zmbkpose -r user@yourdomain.com full-201210281247

Burada full adıyla başlayan hangi yedekten geri döneceğinizi söylüyor. Aldığınız yedeklerin isimlerini /opt/zimbra/backup içerisindeki sessions.txt dosyasında görebilirsiniz. Ya da bu klasör içindeki klasörlerin isimlerine bakabilirsiniz.


5 yorum:

  1. merhabalar;
    anlatım için elinize sağlık. ubuntu 12.04 sunucu üzerinde çalışan zimbra da zmbkpose -f dediğimde sorunsuz yedek alıyor. bunun için cron ayarladığımda ise aşağıdaki hatayı veriyor yardımcı olabilirmisiniz.
    /usr/local/bin/zmbkpose: line 179: -x: command not found
    du: cannot access `/mnt/backup/full-20130317230001/*': No such file or directory
    Paz Mar 17 23:00:01 EDT 2013 - Backup completed for 0 account(s)

    YanıtlaSil
  2. cron'u zimbra kullanıcısında ayarlıyorsun değil mi? Ben öyle yapıyorum. zimbra kullanıcısının /mnt/backup klasörüne yetkili olduğundan emin ol. Bir de /usr/local/bin/zmbkpose da çalışmışsın, ben direk /usr/bin/zmbkpose da çalışmıştm. Yolların doğruluğundan emin ol. zmbkpose dosyasında 179. satırda ne görünüyor sende oradan da soruna bakılabilir.

    YanıtlaSil
  3. evet hocam zimbra kullanıcısı ile yapıyorum birde zmbkpose /usr/local/bin klasöründe bullunuyor. 179 satırda ise şu mevcut

    $(which ldapsearch) -x -H $LDAPMASTERSERVER -D $LDAPZIMBRADN -w $LDAPZIMBRAPASS -b '' -LLL "(objectclass=zimbraAccount)" zimbraMailDeliveryAddress zimbraMailHost | grep ^zimbraMail | awk '{print $2}' > "$LISTALLACCOUNTS"

    YanıtlaSil
  4. Bende bulunan zmbkpose dosyasının 179. satırında incremental backup bitiş parantezi var. Senin yazdığın yeri bulmaya çalıştım ve inceremantel backup içinde buldum. Ben incremental backup almadığım için sorun olmuyor sanırım. zmbkpose -f olarak crontab çalıştırıyorsun değil mi? Bu scriptin incremental yedeğini denemediğim için yardımcı olamıyorum.

    YanıtlaSil
  5. crondaki satır aşağıdaki gibidir. Full backup almaya çalışıyorum

    0 23 * * 0 /usr/local/bin/zmbkpose -f > /opt/zimbra/log/backup.log 2>&1

    YanıtlaSil