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.