Subversion (SVN) Nasıl Yedek Alırım ?

Merhaba arkadaşlar bu yazımda Svn sunucusu üzerindeki verilerimizin nasıl yedek alınacağını anlatacağım.Eğer Svn sunucusu kurmak istiyorsanız Linux Svn Kurulumu makalesine göz atabilirsiniz.

Yedek Alma Yöntemleri

Svn sunucunun yedek alma işlemini iki farklı şekilde yapabiliriz.

  • Dump Komutu:Dump komutunu kullanarak bütün versiyonları tek tek dışarı aktararak dump dosyası oluşturuyoruz.Sağlık olan yöntemde bu yöntemdir.
  • Hotcopy Komutu:Hotcopy sayesinde svn sunucunun bulunduğu dizindeki kopyalama işlemi yaparak yedeğimizi oluşturuyoruz.

Nasıl Yedek Almalıyım ?

Aslında iki türlüde yedek alınabilir.Fakat dump komutu ile yedek almak daha güvenli olacaktır.Dump komutu bütün versiyonları tek tek çıkartarak dump dosyası oluşturduğundan bazı istemediğimiz versiyonları çıkartabilir veya belirli aralıktaki versiyonların yedeğini alabilirsiniz.Örnek olarak 300 revision bulunan svn sunucumuzun olduğunu düşünelim.Bu versiyonlar içerisinden 0’dan başlayarak 150. versiona kadar yedek almak istediğimiz durumda dump komutunu kullanmamız gerekiyor.Fakat hotcopy komutunu kullanırsak böyle bir ayrım yapmamız söz konusu değildir.

Dump komutunun kullanımında yaşanan ufak bir problem vardır.Svn sunucumuzdaki versiyon bozuk ve erişilemiyor olabilir.Bu durumda dump komutu kullanarak yedekleme yaparken “Corrupted revision” hatası ile karşılaşacağız ve yedekleme işlemi tamamlanmayacaktır.Bu sorunu kendimde yaşadığım için bir sonraki yazımdan sorunun çözümünü nasıl yapacağımıza bakabilirsiniz.

Dump Komutu Kullanımı

[code lang="bash"]
#Basit kullanım
svnadmin dump /path/to/reponame > /path/to/reponame.dump 

#Yedeği gzip dosyası haline getirelim ve yedeğin alındığı tarihi dosya adı olarak yazalım.
svnadmin dump /var/svn/repos | gzip -9 > /var/svn/repos-$(date +"\%Y-\%m-\%d-\%T").dump.gz
[/code]

Alınan Yedeğin Sunucuya Yüklenmesi

Aldığımız yedeğin başka bir svn sunucuna yüklenmesini istediğimizde svnadmin load komutunu kullanabiliriz .

[code lang="bash"]
svnadmin load /var/svn/repos < /backup/repos.dump
[/code]

Hotcopy Komutu Kullanımı

Hotcopy komutu normal kopyalama işlemi yaptığından alınan yedeğin geri yüklenirken var olan repository üzerine yazma işlemi yapar.Geri yükleme işlemi yaparken kullanıdığınız repository üzerine geri yükleme yaparsanız veri kaybına neden olabilirsiniz.Geri yükleme işleminde yeni bir repository oluşturarak yedek yükleme işlemini yapmanız daha sağlıklı olabilir.

[code lang="bash"]
#Yedek Alma
svnadmin hotcopy /var/svn/repos /var/backup
#Yedeği Svn Sunucuna Yükleme
svnadmin hotcopy /var/backup/repos /var/svn/repos 
[/code]

Bir sonraki yazımda görüşmek üzere…

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir