80 votes

Comment conserver le chemin complet avec rsync ?

Lorsque je fais une sauvegarde avec rsync, comment puis-je conserver la structure complète des répertoires ?

Par exemple, le serveur distant est Saturne et je veux sauvegarder Saturne 's /home/udi/files/pictures dans un répertoire local nommé sauvegarde .

Je veux avoir (localement) backup/home/udi/files/pictures plutôt que sauvegarde/photos .

104voto

Andy Jackson Points 247

Utilisez le -R o --relative pour préserver le chemin complet.

21voto

Rafe Points 4602

Un autre cas d'utilisation connexe courant consiste à conserver une partie sélectionnée de l'arborescence des répertoires avec l'option /./ par exemple, si vous voulez :

/home/udi/files/pictures

pour aller à :

backup/files/pictures

vous pouvez écrire :

rsync --relative /home/udi/./files/pictures backup

La magie /./ est spécialement analysé par rsync avant de passer ce chemin aux appels système, et lui indique où commencer à créer des répertoires. Le site /./ ne signifie rien pour les autres utilitaires POSIX en général, par exemple le chemin d'accès a/./b est la même chose que a/b dans POSIX.

2voto

John Rennie Points 7728

Avec le rsync de Cygwin Windows, et en supposant que le rsync distant pointe vers la racine, je le ferais :

rsync -vtrz --delete server::rsyncid/home/udi/files/pictures /cygdrive/d/backup/home/udi/files

Cela mettra le contenu du répertoire images distant dans /backup/home/udi/files/pictures. On peut supposer que la syntaxe sous unix serait similaire.

JR

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X