web-dev-qa-db-fra.com

Que fera exactement --delete-exclus pour rsync?

J'utilise rsync avec grand plaisir pour sauvegarder mes serveurs, même si j'ai une question sur le --delete-excluded paramètre.

/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded     --rsh=/usr/bin/ssh root@server01:/etc /.snapshot/hourly.0/server01

De man rsync:

 --delete-excluded       also delete excluded files from dest dirs

Pour moi, natif non anglais, cela signifie que rsync supprimera les répertoires exclus du répertoire de destination réel sur le serveur distant, donc si j'ai /home/backup et /home/settings dans mes dossiers d'exclusion, ces dossiers seraient en fait supprimés du serveur distant ,.

De plusieurs autres ressources, il semble qu'il supprimera les fichiers du dossier de sauvegarde local afin d'économiser de l'espace. Par exemple, vous pouvez créer de petites sauvegardes sur le serveur lui-même et exclure ces données afin de ne pas gaspiller d'espace de stockage.

Il est vital pour moi que rsync ne fasse son travail que dans un sens car les gens disent qu'il est censé fonctionner, je ne veux pas prendre de risques en ayant un logiciel qui supprime les fichiers/répertoires sur le serveur distant.

33
ujjain

Votre interprétation est correcte. Si vous avez exclu des fichiers ou des répertoires du transfert, --delete-exclus les supprimera du côté destination (cela ne doit pas nécessairement être le "serveur distant", vous pouvez utiliser rsync pour copier à partir d'un serveur à l'ordinateur local) s'il les trouve. Par exemple, si vous utilisez --exclude=*.o --delete-excluded, puis si rsync trouve des fichiers se terminant par .o du côté destination, il les supprimera, qu'ils existent ou non dans le répertoire source.

39
DerfK