Rsync copie le contenu du répertoire mais pas le répertoire lui-même


120

J'essaye de synchroniser deux contenus de dossiers avec un nom différent:

rsync -av ~/foo user@remote.com:/var/www/bar

Je voudrais copier le contenu de foodans barl'hôte distant, mais pas le répertoire foolui-même. J'ai essayé quelque chose comme foo/*, mais rsync ne le prend pas en charge.

rsync crée toujours

/var/www/bar/foo

18
il suffit de laisser la barre oblique
— finale

Réponses:


190

Essayer rsync -av ~/foo/ user@remote.com:/var/www/bar/


37
Ce comportement est étrange, comparé à mvou cp.
— zeekvfu

Cela semble étrange et incohérent de rendre la barre oblique de fin pertinente uniquement pour cette commande particulière. Je me demande pourquoi cela n'a pas été changé.
— Luke Davis

39
Au cas où quelqu'un se demanderait également pourquoi cela fonctionne: c'est la fin /après le nom du répertoire.
— Etienne Bruines

32

C'est simple,

rsync /var/www/ /home/var- copie le contenu de / var / www / mais pas le dossier www lui-même.

rsync /var/www /home/var- copie le dossier www avec tout son contenu.

Le "/" fait la différence.


6
Cela devrait être la réponse acceptée qui explique vraiment la différence
— edi9999

29

Non lié uniquement à rsync, mais lorsque vous cherchez des exemples sur la façon d'utiliser une commande GNU / Linux, vous pouvez utiliser "eg" qui affiche des exemples explicites. eg est disponible ici, avec des instructions sur la façon de l'installer: https://github.com/srsudar/eg

Le résultat pour eg rsyncest le suivant

# rsync


copy the folder source_dir and its content into destination_dir

    rsync -av source_dir destination_dir


copy the contents of source_dir (trailing slash) into destination_dir

    rsync -av source_dir/ destination_dir

0

Naviguez dans le répertoire que vous souhaitez copier, donc:

cd ~/foo 

Lance ça:

rsync -avz . user@remote.com:/var/www/bar
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.