J'utilise rsync pour synchroniser des fichiers sur plusieurs machines, en utilisant les éléments suivants:
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
Je souhaite exclure tous les fichiers journaux du transfert de la source vers la destination, et supprimer tous les fichiers existants sur la destination. Donc , j'utilise --exclude=*.log
avec --delete-excluded
qui fonctionne très bien.
Mais je veux garder un certain fichier journal intact sur la destination. Je veux une --exclude-from-delete
option.
Est-ce possible avec rsync?
Réponses:
Le filtre "protéger" devrait accomplir exactement ce que vous voulez:
Spécifiez simplement le filtre suivant avant que les exclusions pertinentes:
(Remarquez l'espace après la lettre P.)
la source