Zmanda ile mySQL veritabanı yedekleme

mySQL veritabanını yedeklemek için son günlerde zManda kullanmaya başladım. Oldukça hızlı ve başarılı şekilde full ve incremental yedekleme yapabiliyor olması hoşuma gitti. Böylece istediğiniz gün ve saate geri dönebiliyorsunuz. Kurması ve çalıştırması oldukça kolay. Dokümanda zManda mySQL backup Debian tabanlı sistemler için anlatılmıştır.


Öncelikle gerekli Perl modüllerini kurun.

apt-get install libdbi-perl libxml-parser-perl

Daha sonra Zmanda paketini indirilip kurun
http://www.zmanda.com/download-zrm.php adresinden DEB paketi indirilerek aşağıdaki komutla kurulabilir.

dpkg -i mysql-zrm_2.2.0_all.deb

mySQL veritabanlarının yedeğinin alınabilmesi için yetkili bir zmanda kullanıcısı (backup_user) oluşturun.

mysql> GRANT ALL ON *.* TO ‘backup_user’@localhost IDENTIFIED BY ‘backup_user’;
mysql> flush privileges;

Zmanda yapılandırma dosyaları için sistemde dizin oluşturun ve paketle beraber gelen örnek dosyayı bu dizine kopyalayın.

mkdir -p /etc/mysql-zrm/dailyrun
cp /etc/mysql-zrm/mysql-zrm.conf /etc/mysql-zrm/dailyrun/

zManda yapılandırma dosyasında gerekli değiklikleri yapın. Örnek dosya aşağıdaki satırlardan oluşmalıdır.

comment=TEST DB Backup
backup-level=0 # Full = 0, Incremental =1
backup-mode=raw # raw veya virtual (mysqldump)
backup-type=quick
destination=/BACKUP/DB/
retention-policy=7D # Gün için D, Hafta için W, Yıl icin Y
replication=0 # Eger sunucu replikasyon slave ise 1 yapmalı
compress=1 # Şıkıştırma isteniyorsa 1 yapılmalı
compress-plugin=/usr/bin/gzip
databases=testdb # Yedeği alınacak veritabanı ismi
user=”backup-user”
password=”backup-1234″
host=”localhost”
port=3306
verbose=1
mailto=”zmanda@backup.local”
mail-policy=always

Test için yedek başlatın.

sudo mysql-zrm-scheduler –now –backup-set dailyrun

Test başarılı ise her gün saat 01:00 de çalışacak sekilde ayarlayın.

mysql-zrm-scheduler –add –interval daily –start 01:00 –backup-set dailyrun

Alınan yedeklerin başarılı olup olmadığını yine mysql-zrm komutu ile kontrol edebilirsiniz. Bunun için aşağıdaki komutu kullanabilirsiniz.

# mysql-zrm –action verify-backup –backup-set dailyrun
verify-backup:INFO: ZRM for MySQL Community Edition – version 2.2.0
dailyrun:verify-backup:INFO: Verification successful

Alınan yedeklerin raporunu ise mysql-zrm-reporter komutu ile görebilirsiniz. Örnek komut ve komutun çıktısı aşağıdaki gibidir.

# mysql-zrm-reporter –show restore-info –where backup-set=dailyrun
REPORT TYPE : restore-info

backup_set backup_date backup_level backup_directory backup_status comment
—————————————————————————————————————————————————–
dailyrun Tue 29 Nov 2011 12:00:06 1 /disk2/db_backups/dailyrun/20111129120006 Backup succeeded dailyrun DB Backup
dailyrun Tue 29 Nov 2011 03:00:02 1 /disk2/db_backups/dailyrun/20111129030002 Backup succeeded dailyrun DB Backup
dailyrun Mon 28 Nov 2011 05:07:14 0 /disk2/db_backups/dailyrun/20111128170714 Backup succeeded dailyrun DB Backup

Leave a Reply


*

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