Rsync copia el contenido del directorio pero no el directorio en sí


119

Estoy tratando de sincronizar dos contenidos de carpetas con un nombre diferente:

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

Me gustaría copiar el contenido de fooen barun host remoto, pero no el directorio en foosí. He intentado algo como foo/*, pero rsync no lo admite.

rsync siempre crea

/var/www/bar/foo

18
solo dejar la barra al final debería ser suficiente
exussum

Respuestas:


190

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


37
Este comportamiento es extraño, comparado con mvo cp.
zeekvfu

Parece extraño e inconsistente hacer que la barra final sea relevante solo para este comando en particular. Me pregunto por qué no se ha cambiado.
Luke Davis

39
En caso de que alguien también se pregunte por qué funciona esto: es el final /después del nombre del directorio.
Etienne Bruines

31

Es sencillo,

rsync /var/www/ /home/var- copia el contenido de / var / www / pero no la carpeta www en sí.

rsync /var/www /home/var- copia la carpeta www junto con todo su contenido.

La "/" marca la diferencia.


6
Esta debería ser la respuesta aceptada que realmente explica la diferencia
edi9999

29

No solo está relacionado con rsync, sino que cuando busca ejemplos sobre cómo usar un comando GNU / Linux, puede usar "eg", que muestra ejemplos explícitos. por ejemplo, está disponible aquí, con instrucciones sobre cómo instalarlo: https://github.com/srsudar/eg

El resultado eg rsynces el siguiente

# 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

Navegue hasta el directorio que le gustaría copiar, entonces:

cd ~/foo 

Ejecuta esto:

rsync -avz . user@remote.com:/var/www/bar
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.