Come escludere rsync esclude dall'eliminazione?


31

Sto usando rsync per sincronizzare i file su più macchine, usando quanto segue:

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

Voglio escludere il trasferimento di tutti i file di registro dall'origine alla destinazione ed eliminare tutti quelli esistenti sulla destinazione. Quindi sto usando --exclude=*.logcon --delete-excludedquale funziona alla grande.

Ma voglio mantenere intatto un determinato file di registro sulla destinazione. Voglio --exclude-from-deleteun'opzione.

Questo è possibile con rsync?


Risposte:


47

Il filtro "proteggi" dovrebbe realizzare esattamente ciò che desideri:

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

Basta specificare il seguente filtro prima che venga escluso il relativo:

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

(Nota lo spazio dopo la lettera P.)


2
Questo funziona davvero.
Fish Monitor,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.