Linux'ta Yeni veya Değiştirilmiş/Değiştirilmiş Dosyaları Eşitlemek için Rsync Nasıl Kullanılır


Bir sistem yöneticisi veya Linux uzmanı olarak, kullanıcıların dosyaları yerel ve uzaktan hızlı bir şekilde kopyalamasına veya senkronize etmesine olanak tanıyan çok yönlü Linux Rsync aracıyla muhtemelen karşılaşmış veya hatta birkaç kez kullanmış olabilirsiniz. Aynı zamanda yedekleme işlemleri ve yansıtma için yaygın olarak kullanılan harika bir araçtır.

Seçkin özelliklerinden ve avantajlarından bazıları; olağanüstü derecede çok yönlüdür, yerel olarak uzak bir kabuğa veya uzak rsync'e kopyalama yapabilir, aynı zamanda son derece esnektir ve kullanıcıların kopyalanacak herhangi bir sayıda dosyayı belirlemesine olanak tanır.

Önerilen Okuma: Linux'ta Rsync Komutunun 10 Pratik Örneği

Ayrıca bağlantıların, cihazların, dosya veya dizin sahibinin, grupların ve izinlerin kopyalanmasına da izin verir. Ayrıca, çok daha fazlasıyla birlikte kök ayrıcalıkları olmadan kullanımı da destekler.

Linux'taki diğer dosya kodlama komutlarıyla karşılaştırıldığında rsync'in önemli bir farklılığı, yalnızca dosyalar veya dizin içeriği arasındaki farkı aktarmak için uzaktan güncelleme protokolünü kullanmasıdır.

Bu nedenle, bu makalede, Linux'ta yedekleme yaparken ve sonrasında rsync'in yalnızca yeni veya değiştirilmiş dosyaları veya dizin içeriğini senkronize etmemize nasıl yardımcı olabileceğini inceleyeceğiz.

Başlangıç olarak, rsync'i kullanmanın geleneksel ve en basit şeklinin aşağıdaki gibi olduğunu hatırlamanız gerekir:

rsync options source destination 

Bununla birlikte, yukarıdaki konseptin gerçekte nasıl çalıştığını ortaya çıkarmak için bazı örneklere dalalım.

Dosyaları Rsync Kullanarak Yerel Olarak Senkronize Etme

Aşağıdaki komutu kullanarak, Belgeler dizinimdeki dosyaları yerel olarak /tmp/documents dizinine kopyalayabilmek:

rsync -av Documents/* /tmp/documents

Yukarıdaki komutta seçenek:

  1. -a – arşiv modu anlamına gelir
  2. -v – devam eden işlemlerin ayrıntılarını gösteren ayrıntılı anlamına gelir

Varsayılan olarak, rsync yalnızca yeni veya değiştirilmiş dosyaları bir kaynaktan hedefe kopyalar; Belgeler dizinime yeni bir dosya eklediğimde, aynı komutu çalıştırdıktan sonra olan şey budur ikinci kez:

rsync -av Documents/* /tmp/documents

Komutun çıktısından da görebileceğiniz gibi, hedef dizine yalnızca yeni dosya kopyalanır.

Önerilen Okuma: Rsync Kullanarak İki Apache Web Sunucusu/Web Sitesi Nasıl Eşitlenir

--update veya -u seçeneği rsync'in hedef dizinde hâlâ yeni olan dosyaları atlamasına olanak tanır ve önemli bir seçenek olan --dry-run veya -n herhangi bir değişiklik yapmadan test işlemi yapmamızı sağlar. Bize hangi dosyaların kopyalanacağını gösterir.

rsync -aunv Documents/* /tmp/documents

Bir test çalıştırması yürüttükten sonra -n'i ortadan kaldırıp gerçek bir işlem gerçekleştirebiliriz:

rsync -auv Documents/* /tmp/documents

Dosyaları Yerelden Uzak Linux'a Senkronize Etme

Aşağıdaki örnekte, yerel makinemdeki dosyaları 10.42.1.5 IP adresine sahip uzak bir sunucuya kopyalıyorum. Yalnızca yerel makinedeki, uzak makinede bulunmayan yeni dosyaları senkronize etmek için --ignore-existing seçeneğini ekleyebiliriz:

rsync -av --ignore-existing Documents/* [email :~/all/

Daha sonra, yalnızca yerel makinede değişen, uzak makinedeki güncellenmiş veya değiştirilmiş dosyaları senkronize etmek için, dosyaları kopyalamadan önce aşağıdaki gibi bir deneme işlemi gerçekleştirebiliriz:

rsync -av --dry-run --update Documents/* [email :~/all/
rsync -av --update Documents/* [email :~/all/

Mevcut dosyaları güncellemek ve hedefte yeni dosya oluşturulmasını önlemek için --existing seçeneğini kullanırız.

Daha önce de belirttiğim gibi, gelişmiş kullanıma yönelik ek yararlı seçenekleri keşfetmek için man rsync sayfasını çalıştırabilirsiniz. rsync çok güçlü ve çok yönlü bir Linux aracıdır ve birçok Sistem Yönetici ve Linux konusunda uzman kullanıcılar bunun ne kadar avantajlı olduğunu biliyorlar.

En önemlisi, burada ele aldığımız örnekler hakkındaki görüşlerinizi paylaşabilir veya daha da iyisi, aşağıdaki yorum bölümü aracılığıyla bu hayati komut satırı aracının kullanımına ilişkin değerli ipuçlarını bize sunabilirsiniz.