rsync nedir?
rsync, dosya ve dizinleri iki konum arasında eşitlemek için kullanılan, Linux ve Unix sistemlerde yaygın bir komut satırı aracıdır. Kaynak ile hedefi karşılaştırır ve yalnızca değişen dosyaları ya da dosya parçalarını aktarır. Bu sayede büyük dizinlerin tekrar tekrar kopyalanması çok daha hızlı ve az bant genişliğiyle yapılır.
rsync kendi başına bir yedekleme çözümü değildir; sürüm geçmişi, şifreleme ve tekilleştirme sunmaz. Ancak basit ve güvenilir olduğu için birçok yedekleme betiğinin ve aracın temelini oluşturur.
Nasıl çalışır?
rsync, hedeften dosya listesini alır, boyut ve değişiklik zamanını karşılaştırır ve değişenler için fark algoritmasıyla yalnızca farklı blokları gönderir. Uzak sunuculara genellikle SSH üzerinden bağlanır, böylece aktarım şifrelenir. -a seçeneği izinleri, sahipliği ve zaman damgalarını korurken --delete hedefte kaynakta olmayan dosyaları siler.
--link-dest seçeneği, değişmeyen dosyalar için sabit bağ (hard link) kullanarak her gün tam görünümlü ama az yer kaplayan artımlı yedek kümeleri oluşturmayı sağlar. -n (deneme) seçeneği ise gerçekte hiçbir şey değiştirmeden ne yapılacağını gösterir.
Sunucu ve hosting ortamında
Sunucu yöneticileri rsync’i web sitesi dosyalarını yedek sunucusuna göndermek, sunucu taşırken veri aktarmak ve çok sunuculu kurulumlarda içerik eşitlemek için kullanır. Cron ile zamanlanır. Hedef tarafta salt-ekleme ya da ayrı kimlik bilgileriyle çalışan bir yapı, fidye yazılımının yedekleri de silmesi riskini azaltır.