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:
-a
– arşiv modu anlamına gelir-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.