web-dev-qa-db-fra.com

Empêcher rsync de supprimer les fichiers de destination qui correspondent à un modèle donné

J'utilise rsync pour synchroniser des fichiers d'une source vers une destination:

rsync -av --delete source destination

J'ai un seul répertoire côté destination qui n'est pas côté source. Je voudrais empêcher rsync de supprimer ce répertoire. Existe-t-il une option que je peux passer à rsync pour empêcher la suppression de ce répertoire lors de la synchronisation?

38
turtle

Vous pouvez exclure des fichiers/répertoires avec --exclude. Cela empêchera le répertoire somedir d'être synchronisé/supprimé:

rsync -avrc --delete --exclude somedir source destination
47
kielni

Comme mentionné dans une question similaire , cela peut être accompli en utilisant le --filter option avec la règle protect:

$ rsync ... --filter 'protect /remote-directory-to-keep/' ...

Contrairement à la réponse actuellement acceptée, utilisez --filter est utile, par exemple, si vous souhaitez également utiliser --exclude avec --delete-excluded.

40
asaveljevs