rsync ile birden çok dizin nasıl hariç tutulur?

136

Ana dizini rsync kullanarak yedeklemeye çalışıyorum ve önemsiz bazı dizinleri dışlamak istiyorum. Özellikle /home/ben/.ccache ve /home/ben/build değerini hariç tutmak istiyorum. Ne yazık ki, rsync belgeleri bilgi yüklemesiydi ve sorumu cevaplamadı. Denediğim şey buydu:

rsync -arv --exclude "/home/ben/.ccache:/home/ben/build" /home/ben /media/ben/thumbdrive/

Bunu yapmanın doğru yolu nedir?

    
sordu Freedom_Ben 16.07.2013 01:53

3 cevap

178

Tamam Kendimi aptal hissediyorum. Bu soruyu göndermeden önce arkadaşım bana nasıl yapılacağını gösterdi ve gerçekten çok basit. Birden çok dizini hariç tutmak için sadece --exclude=path anahtarını kullanın. Öyleyse, yukarıda yazılan komutum şöyle yazılmıştır:

rsync -arv --exclude=.ccache --exclude=build /home/ben /media/ben/thumbdrive/
    
verilen cevap Freedom_Ben 16.07.2013 01:53
85

Hariç tutulacak birden çok dizin ve / veya dosya varsa, bir metin dosyası oluşturun ve --exclude-from anahtarını kullanın. % Co_de% adlı bir dosya oluştur ve bunun dışında kalanları listele. Örnek ( exclude_me.txt ):

.ccache
build
.java
.gvfs
.xsession-errors

Sonra rsync'in şöyle bir şey görecekti:

rsync -arv --exclude-from='/home/ben/exclude_me.txt' /home/ben /media/ben/thumbdrive/

Bu, yardımcı olabilecek filtre kurallarıyla ilgili bazı bilgiler:

  • /home/ben/exclude_me.txt , kök klasör% Co_de% hariç demektir
  • /dir/ , kök klasör /dir içeriğine değil, içeriğe sahip olmak demektir
  • /dir/* , adın /dir

  • içerdiği herhangi bir klasörün hariç tutulmasını sağlar.

  • Örnekler hariç tutuldu: dir/ , herhangi bir klasörde dir/ ile başlayan atlama dosyaları anlamına gelir /dir/, /usr/share/directory/, /var/spool/dir/ /var/spool/lpd/cf içinde

Ayrıca, man sayfasındaki filtre kuralları bölümüne bakın.

    
verilen cevap user228759 19.05.2014 17:13
58

Ayrıca, kaşlı ayraçlar içinde birden çok yolu hariç tutabilirsiniz:

rsync -arv --exclude={.ccache,build} /home/ben /media/ben/thumbdrive/
    
verilen cevap György Ráth 18.09.2014 10:59

Etiketlerdeki diğer soruları oku