Belirli bir dosya uzantısına sahip belirli dosya adları dışındaki tüm dosyaları kopyalamak için rsync kullanın.


28

İki tane aynı boyutta flash kartım var ve içeriğini aşağıdaki kurallara göre bir diğerine kopyalamak istiyorum:

  1. Tüm dizinlerin ve alt dizinlerin yerinde olmasını istiyorum
  2. .FOO, .BAR ve .ZIM türündeki dosyaları dışlamak istiyorum (diğer tüm dosyalar kopyalanır)
  3. Bonus: Dosya adlarını kopyalarsa kopyalanır, çünkü ~ 8 GB'lık bilgi kopyalayacak.

Bu bir şekilde "bul" ile yapılabilir mi?

Yanıtlar:


41

Bu olurdu önemli ölçüde daha kolay kullanarak rsync'i onun ile --excludeanahtarı.

rsync -av --exclude='*.FOO' --exclude='*.BAR' --exclude='*.ZIM' /source /dest

-vAnahtar dosyaları senkronize ediliyor hangi ayrıntılı çıktı sağlayacaktır.


Buradaki küçük takip: kopya bitti ve / src / * şimdi / dest / src / * dizininde / rcync / src / * / / / / dizininde nasıl kullanılır?
macek

Deneyin/source/ /dest
John T,

Bu işe yaramıyor. Hala * .FOO dosyalarının kopyalandığını görüyorum.
Jake,

Nasıl yol vermeniz gerektiği belirtildi --exclude. Bununla ilgili sorunlarınız varsa bu cevabı kontrol edin .
totymedli

0

Hariç tutulacak çok sayıda uzantınız varsa, bir dosya oluşturabilir ve hariç tutmak ve basitleştirmek için yalnızca bir hariç tutma seçeneğini kullanmak için tüm uzantıları veya dosyaları yazabilirsiniz.

rsync -ravz --exclude = '. / abc, txt' / kaynak / dest

Tekrarlamalı olarak kopyalamanız gerekiyorsa, sıkıştırma için z'yi ve r seçeneğini kullanmak her zaman iyidir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.