Bu konu onlarca sitede, blogda, forumda yazılmıştır. Terminal altında da yeterince açıklayıcı man dosyaları da mevcuttur. Ufak bir aramayla web’de onlarca kaynak bulmakta mümkündür. Benim tekrar ele almaktaki sebebim, hobi olarak çalıştığım kişisel bir projemde kullandığım araçları ve özelliklerini kendi anladığım formda tekrar elden geçirmek. rsync komutu da bu çalışmamın aslan payını aldığı için yer ve zaman ayırmaya karar verdim.
Rsync, sık kullanılan ve güzel bir dosya transfer uygulamasıdır. Özellikle yedekleme ya da senkronizasyon işlemlerinde incremental (değişen) dosyaların kopyalanmasını sağlayarak hız ve verimlilik sağlar. rsh veya ssh gibi şeffaf kabukları kullanabilmektedir. root yetkisine ihtiyaç duymaz, kopyalama sırasında dosyanın sahiplikleri gurubu veya izinlerini (chmod değerlerini) bozmadan diğer noktaya aktarabilir. En güzeli ve vurgulanması gereken noktası, lokal yedekleme yapılabildiği gibi uzaktaki bir sisteme de yapabilmek mümkündür. Açık kaynak kodludur ve GNU’ya (Genel Kamu Lisansı) sahiptir.
Bir çok linux dağıtımına ön tanımlı olarak gelmektedir. Gelmemişse kurulumu basittir;
sudo apt-get install rsync
Benim kullandığım temel formatı aşağıdaki gibidir;
Lokal için;
rsync –avz Kaynak Hedef
Uzak makine için;
rsync –avz Kaynak UzakMakine:Hedef
Parametrelerin ne anlama geldiğini anlamak için terminale
man rsync
yazmanız yeterlidir.
İngilizceniz yetersiz kalıyorsa şu adresi de önerebilirim;
http://man.cx/rsync(1)/tr
Benim kullandığım, kendime not aldığım ve kullandığım parametreleri ve anlamları şunlar;
- a (archive) arşivleyerek indirir
- v (verbose) yedekleme işlemlerini terminalde görmemizi sağlar
- z (zip) dosyaları sıkıştırarak çeker
- r (recursive) alt dizinleri de kapsayacak şekilde kopyalama yapar
Örnek kullanımlar vermek istedim. Kırmızı görünenler kaynak dizinleri, Yeşil görünenler Hedef dizinleri göstermektedir.
rsync -avz /home/anakin/www/ /home/backup/
rsync -avz anakin@192.168.7.74:backup/ /home/backup/
Hakan Müştak @2013/09
Software Developer
Hocam güzel bir yazı olmuş elinize sağlık, teşekkürler