MySQL kullandığım projelerde yaşadığım en büyük sıkıntı şüphesiz sistemin kararlığı açısından periyodik yedek almak. Yazılımcı için en büyük handikaplardan birisi ise tarih bazlı yedeklemelerin çalışır olması gerekiyor.
Eğer MySQL servisiniz yedekli olarak(master – slave) çalışmıyorsa, klasik usullerle yedekleme yapmanız gerekiyor. Biz de şirket olarak kullandığımız projelerde RAID 0 ya da RAID 1 kullanıyoruz. Ancak birden fazla diskin olmadığı yerlerde dosya sistemi üzerinde çakma çözümlerle uğraşmanız gerekiyor
AutoMySQLBackup yazılımı da tek bir bash dosyasından ibaret olması ve kolay konfigüre edilebilmesi nedeniyle oldukça kullanışlı hae geliyor.
Günlük, haftalık ve aylık yedekleri farklı klasörler içerisinde tutabiliyor, sıkıştırmayı destekliyor ve veritabanı bazlı yedekleme yapabiliyorsunuz. Hatta bazı veritabanlarını veya tabloları exclude edebiliyorsunuz.
Bash dosyası içerisinde şu tarzda konfigürasyonlar bulunuyor;
[bash]
# Yedekleme yapılacak dizin
#Bu kısımda yedekleme yapacağınız klasörü farklı bir diske mount edebilirsiniz.
BACKUPDIR=”/srv/backup/db”
# Yedekleme alındıktan sonra bilgilendirme postası gönderilirken neler gönderilecek?
# Logları, sql dump dosyalarını, standart çıktıları(bilgilendirme)
# veya hata kayıtlarını seçebilirsiniz.
MAILCONTENT=”log”
# Gönderilecek e-postada maksimum boyut değeri
MAXATTSIZE=”4000″
# Gönderim yapılacak e-posta adresi
MAILADDR=”[email protected]”
# Özellikle yedeklenmesini istediğiniz veritabanı adlarını yazabilirsiniz.
# Hepsinin yedeğini almasını istiyorsanız bu şekilde bırakmak gerekiyor.
MDBNAMES=”${DBNAMES}”
# Exclude (hariç) edilecek veritabanlarını yazabilirsiniz.
DBEXCLUDE=”"
# Yedeklerin sorgu olarak kaydedildiğini düşünürsek,
# CREATE TABLE kısımlarını ekleme imkanınız mevcut
CREATE_DATABASE=no
# Veritabanlarını ayrı klasöre kaydetmek istiyor musunuz?
SEPDIR=yes
# Haftalık yedekler hangi güne ait olacak? Cuma için 6 girmeniz gerekiyor.
DOWEEKLY=6
# Sıkıştırma yapılsın mı? gzip veya bz2
COMP=gzip
[/bash]
Temel konfigürasyonlar bu şekilde olduğu gibi, ilgili dosyaya çalıştırma izni vererek /etc/cron.daily içerisine atmanız yeterli oluyor.(Dağıtıma göre farklılık gösterebilir.)
AutoMySQLBackup yazılımını şu adresten edinebilirsiniz.
Kısa bir süre sonra filesystem üzerindeki dosyalarının yedeklenebilirliği ile ilgili bir yazı daha yayınlayacağım.
Görüşmek dileğiyle


