Etiketler

4 Temmuz 2013 Perşembe

RSYNC

Merhaba Arkadaşlar
Bu yazımda sizlere Rsync'nin ne olduğundan bahsetmek istiyorum.

Rsync linux, unix sitemlerinde hızlı bir şekilde dosya transferini sağlayan bir uygulamadır.
Windows işletim sisteminde de kullanılabilir ancak cygwin kurmalısınız.
Genel olarak yedekleme ve sekronizasyon işlemlerinde dosyaların kopyalanması için kullanılır.
Rsync açık kaynak kodludur ve GNU (genel kamu lisansı) ya sahiptir. Bir çok Linux dağıtımında ön tanımlı olarak bulunmaktadır. Şayet yok ise de yüklemek gayet kolaydır. En büyük avantajı her seferinde sıfırdan başlayarak yedekleme yapmak yerine sadece değişikliğe uğramış yada yeni yaratılmış dosyaların/dizinlerin aktarılmasıdır. Böylelikle hızlı bir şekilde dosya aktarımı sağlanmış olur.

Temel özelliklerinden biraz bahsedecek olursak
       Tüm bir dizini ya da dosya sistemini yedekleyebilirsiniz.
       Root yetkisine sahip olunmasına gerek yoktur.
       Lokal sistem üzerinde yedekleme/sekronizasyon yapabilirsiniz.
       Uzaktaki bir sistemden, lokal bir sisteme yedekleme/sekronizasyon yapabilirsiniz.
       Network üzerinden transfer için ssh kullanabilirsiniz.
       Daemon modu mevcuttur.
        Exlude anahtarı ile istemediğiniz dosya yada dizinlerin yedeklemesini yapmayabilirsiniz.

Kurulum için  terminal (ctrl+alt+delete) ekranına yazılması gereken komut satırı :

sudo apt-get install rsync

Kullanımı ise oldukça basittir.

En temel komutu :
rsync -a kaynakdizin hedefdizin

Eğer yedekler, uzaktaki bir sisteme transfer edilmek istenirse ;
rsync -a kaynakdizin uzaktakisistem:hedefdizin

Eğer yedekler uzaktaki bir sistemden alınacaksa ;
rsync -a uzaktakisistem:kaynakdizin hedefdizin
 komut satırları kullanılabilir.

Rsync parametrelerinden bazıları ;
-r : Kopyalama işlemi,alt dizinlerde kapsanacak şekilde recursive olarak yapılır.
-l : Sembolik linkler, sembolik link olarak kopyalanır.
-p : Dosya ve dizinlerin izin değerleri korunur.
-t : Dosyaların değiştirilme (mtime) bilgisi de transfer edilir.Senkronizasyon 
işlemleri için bu anahtar kullanılmalıdır.
-g : Dosya ve dizinlerin grup bilgileri korunur.
-o : Dosya ve dizinlerin sahip bilgileri korunur.
-D : Device dosyaları vs hedefte oluşturulur.
-a : yukarıdaki bütün parametreleri kapsar.
-H : Hard linkleri de transfer eder.
-z : Transfer sırasında dosyaları sıkıştırır.
--exclude : Belirtilen PATTERN, kopyalama işleminden muaf tutulur. 
--dry-run : Komut çalıştırıldığı zaman, hangi işlemlerin gerçekleşeceği gösterilir ancak işlemler gerçekte uygulanmaz.
--delete :  Kaynak tarafta artık bulunmayan dosyalar, hedef taraftan da silinir. Dikkatli kullanılmalıdır.
--human-readable : Çıktılar, human-readable (anlaşılır) formatta verilir.

Ayrıca, -v anahtarı ile kopyalama işleminde verbose özelliği açılarak işlem sırasında detay alınabilmektedir. -vv ya da -vvv şeklinde işlem detayları daha da arttırılabilir.


Ek olarak;
Daha önce bahsettiğim "crontab" ile otomatik olarak yedekleme işlemimizi gerçekleştirebiliriz.
Bunu çok basit bir örnekle açıklayayım.
Mesela; masaüstüne deneme diye bir klasör oluşturdum ve daha sonra  klasörün içine deneme.txt diye bir text dosyasını oluşturdum ve içine birşeyler yazdım. Daha sonra terminal ekranından 

rsync -av --delete /home/username/Desktop/home /home/username/Desktop/deneme
yazdığımda masaüstünde deneme adlı bir klasör oluşturulacak ve içerisine home klasörü kopyalanacaktır.

Crontab e girmek için terminal ekranına
crontab -e
daha sonrada ;
0 15 * * * rsync -av --delete /home/username/Desktop/home /home/username/Desktop/deneme
yazdığımızda hergün saat 15 de masaüstünde bulunan home klasörümüzün içi kontrol edilecek bir değişiklik var ise onlar deneme klasörümüze kopyalanacaktır.

Herkese iyi çalışmalar..
Daha sonraki yazılarımda görüşmek dileğiyle..

Yararlanılan Kaynaklar:
http://www.syslogs.org/rsync-ile-dizin-senkronizasyon-ve-incremental-backup-islemleri/
http://www.linuxogren.com/rsync-ve-backup-islemi.html
http://forum.linuxmint.org.tr/index.php?topic=1033.0
http://rsync.samba.org/

Hiç yorum yok:

Yorum Gönder