Rdiff-Backup ile Linux Yedeği Alma

Rdiff-Backup Nedir?

Genel olarak bahsedecek olursak Rdiff-Backup bir dizinden başka bir dizine yedekleme yapmaktadır. Elbette arada fark varsa onları yedekliyor ve sadece yeni olan dosyaları yedeklenecek olan dizinin içine alıyor. İşin güzel tarafı ise hedefteki bir dizinde dosya kaybolmuşsa veya yanlışlıkla silinmiş ise; yedeklediğiniz dizinde silinen dosyayı veya dosyaları oldukça kolay bir şekilde tekrar oluşturabiliyorsunuz.

Bunların yanı sıra daha ilgi çeken bir diğer özelliği ise SSH’yi de kapsaması. Bu sayede ağ üzerinden yedekleme yapabilir ya da Restore (düzeltme) işlemini gerçekleştirebilirsiniz. Başka bir önemli nokta ise düzeltme işlemi yapılırken; sembolik bağlantılar, aygıt dosyaları ve bunlara ait bütün dosyaları aynen yedeklediğiniz gibi tekrar oluşturabilirsiniz.

Rdiff-Backup Kurulumu

Kurulumu nongnu.org sitesine bağlanarak gerçekleştirebilirsiniz. Terminali kullanmak isteyenler aşağıdaki işlemi uygulasınlar.

wget http://pkgs.repoforge.org/rdiff-backup/rdiff-backup-1.2.8-4.el6.rf.x86_64.rpm 

ve daha sonra her zamanki gibi kurulumu tamamlayabilirsiniz.

Rdiff-Back İle Yedek Alma

Kurulumu tamamladık peki yedeğimizi nasıl oluşturacağız. Mantık şu şekildedir.

rdiff-backup yedeklenecek_dizin yedeklenen_yer

Eğer uzaktaki bir sisteme yedek almak isterseniz aşağıdaki işlemi uygulayabilirsiniz.

rdiff-backup /bilgisayarınızda_bulunan_yedekleyeceğiniz_dizin kullanıcı@hedefsistem::yedeklenecek_yer
kullanıcı@hedefsistem örnek vermek gerekirse [email protected] şeklinde olacak.

Yedeğimizi bu şekilde uzak bir makineye oluşturduğumuzu varsayalım ve kendi bilgisayarımızdaki klasörler silinsin. Geri yükleme işleminin nasıl yapıldığını bu sayede görelim. İlk Önce hubeybi klasörünü silelim daha sonra uzak dizindeki yedeğimizden geri yükleyelim.

rm -rf hub
rdiff-backup -r now [email protected]::yedeklerin_oldugu_dizin hub

Burada kullandığımız now parametresi en son yedeği geri yüklememizi sağladı eğer 5 gün önceki yedeği geri yüklemek isteseydim now parametresi yerine 5D yazmam gerekecekti. Yani uçbirime yazmam gereken komut aşağıdaki şekilde olacaktı.

rdiff-backup -r 5D [email protected]::yedeklerin_oldugu_dizin hub

Eğer bilgisayarımdaki verilerle uzak dizindeki verileri karşılaştırmak istersem ya da dosyalarım üzerinde oluşan değişiklikleri görmek istersem aşağıdaki komutu uçbirime girmem yeterli olacaktır.

rdiff-backup --compare hubeybi/ [email protected]::/yedek

Eğer yedek almaya uğraşmak istemezseniz aşağıdaki komutla bu işlemi otomatikleştirebilirsiniz.

Eğer günlük yedekleme yapmak istiyorsanız, CronJop kullanarak bu işlemi gerçekleştirebilirsiniz. Mesela her gün saat 06:00’da bu yedekleme işleminin gerçekleşmesini istiyoruz, CronJop dosyanıza (/etc/crontab) aşağıdaki satırı ekleyebilirsiniz.

0 6   * * *   root    /usr/bin/rdiff-backup  user@pc1::/home/hub/onemli  /home/yedekler/pc1/hubeybi/onemli 

Bu işlem sonunda her gün sabah 06:00’da karşı bilgisayardaki dizin, kullandığınız bilgisayardaki tanımlanan dizine yedeklenecektir.

Dilerseniz yaptığınız işlemlerin kayıt dosyalarını (loglarını) da tutabilirsiniz. Rdiff-Backup size istatisklerinizi de sunuyor. Bunun için aşağıdaki komutu uygulamanız yeterlidir.

diff-backup --list-changed-since 4h /home/hub/oenmli

Bu komut sayesinde son 4 saat içinde gerçekleşen değişikliklerin birer listesini alırsınız. İhtiyacınıza göre komut içindeki 4h yazan yeri değiştirerek bu süreyi değiştirebilirsiniz.

Session statistics
StartTime 1079899715.00 (Sun Dec 21 21:08:35 2014)  EndTime 1079899764.83 (Sun Dec 21 21:09:24 2014)  ElapsedTime 49.83 (49.83 seconds)  SourceFiles 1091  SourceFileSize 8433023 (8.04 MB)  MirrorFiles 985  MirrorFileSize 5037284 (4.80 MB)  NewFiles 106  NewFileSize 3395739 (3.24 MB)  DeletedFiles 0  DeletedFileSize 0 (0 bytes)  ChangedFiles 2  ChangedSourceSize 0 (0 bytes)  ChangedMirrorSize 0 (0 bytes)  IncrementFiles 108  IncrementFileSize 0 (0 bytes)  TotalDestinationSizeChange 3395739 (3.24 MB)  Errors 0


Sürekli yedek tutulan bilgisayarın deposu zamanla dolmaya başlayacaktır, peki bu durumun önüne nasıl geçeriz? Şimdi belli bir tarihten önceki yedekleri silmeyi görelim

rdiff-backup -remove-older-than 3w [email protected]::/home/hub/yedek
Not: Yedekleme işlemleri dosyalar veya dizinler arasında fark var mı yöntemine göre yapıldığı için, birinci aldığınız yedekleme işlemi uzun sürebilir.Fakat sonraki yedeklemelerde sadece dizinler arasındaki fark alınarak yedekleme işlemi gerçekleştirileceği için bu süre çok daha azalacaktır.

 

Bana Ders Anlat © 2008-2022