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.