web-dev-qa-db-fra.com

Rsync crée un répertoire avec le même nom à l'intérieur du répertoire de destination

Lorsque j'exécute cette commande

rsync -avzp --del -e "ssh -p myport" user@hostname:/var/www/tests /var/www/tests

les fichiers sont synchronisés mais au lieu d'enregistrer des fichiers dans /var/www/tests, Rsync crée un autre répertoire "tests" à l'intérieur des "tests" existants:

/var/www/tests/tests

et y met des fichiers. Comment dire à Rsync de ne pas créer de nouveau répertoire?

67
javi007

Si vous ne voulez pas qu'un autre répertoire tests soit créé, la commande correcte serait

rsync -avzp --del -e "ssh -p myport" user@hostname:/var/www/tests/ /var/www/tests

Noter la / au bout du user@hostname:/var/www/tests/.

59
etagenklo

Vous avez besoin d'une barre oblique de fin sur la source.

Voici la bonne commande:

rsync -avzp --del -e "ssh -p myport" user@hostname:/var/www/tests/ /var/www/tests

Plus d'informations

Explication de rsync et des barres obliques de fin:

http://defindit.com/readme_files/rsync_backup.html

Rsync a deux modes de fonctionnement principaux. Les modes dépendent de l'absence ou de la présence de la barre oblique de fin dans le répertoire source.

Un autre exemple:

http://www.jveweb.net/en/archives/2010/11/synchronizing-folders-with-rsync.html

... vous devez ajouter la barre oblique de fin, sinon, un dossier appelé Images est créé dans le dossier Images que nous spécifions comme destination.

36
Drew Khoury