Rsync, silme işleminin dışında bırakılır?


31

Aşağıdakileri kullanarak dosyaları birden çok makinede senkronize etmek için rsync kullanıyorum:

rsync -az -e "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" \
  --delete --delete-excluded --force --exclude=.git  --exclude=.bundle \
  --exclude=tmp --exclude=log/* --exclude=*.log --exclude=*.pid \
  user@host:/path/to/src/ /var/build/dest

Tüm günlük dosyalarının kaynaktan hedefe aktarılmasını engellemek ve hedefteki mevcut tüm dosyaları silmek istiyorum. Ben kullanıyorum Yani --exclude=*.logile --delete-excludedhangi iyi çalışıyor.

Ancak belirli bir günlük dosyasını hedefte bozulmadan tutmak istiyorum. Bir --exclude-from-deleteseçenek istiyorum .

Bu rsync ile mümkün mü?


Yanıtlar:


47

"Koru" filtresi tam olarak istediğinizi yerine getirmelidir:

          protect, P specifies a pattern for protecting files from deletion.

İlgili hariç tutmadan önce sadece aşağıdaki filtreyi belirtin:

--filter='P my-specific-logfile.log'

(P harfinden sonraki boşluğa dikkat edin)


2
Bu aslında işe yarıyor.
Balık Monitörü
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.