Farklı örnekler kullanarak rsync'de bir dosya veya dizini nasıl hariç tutabileceğinizi göstereceğiz. Burada sunulan örnekler Ubuntu 20'de test edilmiştir.04 LTS, ancak bunlar, rsync'in kurulu olduğu diğer Linux dağıtımları için de geçerlidir.
Belirli Bir Dosyayı Hariç Tut
Bir dizini senkronize ederken, içinde bulunan belirli bir dosyayı hariç tutmak isteyebilirsiniz. Bunu -exclude seçeneğini ve ardından virgül içine alınmış dosya adını kullanarak yapabilirsiniz.
Komutun sözdizimi şöyle olacaktır:
$ rsync -a -- 'dosya_adı' kaynak_dizini/ hedef_dizini/ hariç tutBuraya, bir seçenek özyinelemeli senkronizasyon için kullanılır.
Örneğin, adlı bir dosyayı hariç tutmak için örneklem.Txt eşitlerken kaynaktan kaynak_dizini ve hedef_dir, komut şöyle olurdu:
$ rsync -a --exclude 'örnek.txt' kaynak_dizini/ hedef_dizini/
Belirli Bir Dizini Hariç Tut
Kaynak ve hedef dizinleri eşitlerken belirli bir dizini (alt dizinleri dahil) kaynaktan hariç tutmak için aşağıdaki sözdizimini kullanın:
$ rsync -a -- 'dizin_adı' hariç tut src_dir/ hedef_dir/Örneğin, adlı bir dizini hariç tutmak için örnek senkronize ederken kaynak_dizini ve hedef_dir, komut şöyle olurdu:
$ rsync -a -- 'sampledir' hariç tut src_dir/ dest_dir/
Dizinin içeriğini hariç tutmak, ancak dizinin kendisini hariç tutmak istiyorsanız, dizin adını ve ardından /*: gelen dizini kullanın
$ rsync -a --exclude 'sampledir/* ' src_dir/ hedef_dir/Yukarıdaki komut, dizini yalnızca hedefe kopyalar, içeriğini değil.
Birden Çok Dosyayı veya Dizini Hariç Tut
Senkronizasyon işlemi sırasında birden çok dosya veya dizini hariç tutmak için her birini aşağıdaki gibi belirtin:
$ rsync -a -- 'dosya_adı' hariç tutuldu -- 'dizin1 hariç tutuldu -- 'dizin2' hariç tutuldu src_dir/ hedef_dizini/
belirtmek yerine -hariç tutmak seçeneği her dosya veya dizin için ayrı ayrı, tek bir -hariç tutmak tüm dosyaları veya dizinleri süslü parantez içinde belirterek seçenek.
$ rsync -a --exclude='file_name' ,'directory1','directory2' src_dir/ dest_dir/
Birden çok dosyayı veya dizini hariç tutmanın başka bir seçeneği, onları bir dosyada listelemek ve ardından dosya adını -Hariç tutmak seçenek:
$ rsync -a --exclude-from 'liste' src_dir/ dest_dir/Burada "liste", hariç tutmak istediğimiz dosya ve dizin adını içerir. Bu komut, "liste" dosyasında belirtilen dosya ve dizinleri hariç tutarken src_dir'yi dest_dir ile senkronize eder.
Bir Kalıpla Eşleşen Dosyaları veya Dizinleri Hariç Tut
rsync ile, belirli bir kalıpla eşleşen dosyaları veya dizinleri de hariç tutabilirsiniz. Örneğin, bir dizini senkronize ederken, bir ile biten tüm dosyaları hariç tutmak isteyebilirsiniz .Txt uzantı. Bu durumda komut şöyle olacaktır:
$ rsync -a --hariç tut '*.txt' kaynak_dizini/ hedef_dizini/
Dosyayı Boyuta Göre Hariç Tut
rsync ile dosyaları minimum veya maksimum boyutlarına göre hariç tutabilirsiniz. Burada -exclude seçeneğini kullanmayacağız, ancak -max-size=
İşte listemiz kaynak_dizini dosya adlarını MB cinsinden boyutlarıyla birlikte gösterir.
Diyelim ki, boyutundan büyük olanlar dışındaki tüm dosyaları dest_dir ile senkronize etmek istiyoruz 100MB. Bu durumda komut şöyle olacaktır:
$ rsync -av --max-size=100m kaynak_dizini/ hedef_dizini/
Benzer şekilde, 50 MB gibi belirli bir boyuttan daha küçük dosyaları hariç tutmak için komut şöyle olacaktır:
$ rsync -av --min-size=50m src_dir/ hedef_dir/Sonuç
hepsi bu kadar! Bu yazıda, rsync'de bir dosyayı veya bir dizini hariç tutmak için farklı örnekleri tartıştık. Tek bir dosya veya dizinin, birden çok dosya ve dizinin, belirli bir kalıpla eşleşen dosyaların ve dosyaların minimum/maksimum boyutlarına göre nasıl hariç tutulacağını gösterdik.