¿Cómo mantener la ruta completa con rsync?


64

Al hacer una copia de seguridad con rsync, ¿cómo mantengo la estructura de directorios completa?

Por ejemplo, el servidor remoto es Saturno , y quiero hacer una copia de seguridad de Saturno 's / home / udi / files / pictures en un directorio local llamado copia de seguridad .

Quiero tener (localmente) copia de seguridad / home / udi / files / pictures en lugar de backup / pictures .

Respuestas:


76

Use la opción -Ro --relativepara preservar la ruta completa.


2

Otro caso de uso relacionado común es mantener una parte seleccionada del árbol de directorios /./, por ejemplo, si lo desea:

backup/files/pictures

puedes escribir:

rsync --relative /home/udi/./files/pictures backup

La magia /./dice desde rsyncdónde comenzar a crear directorios.


¡Esto funcionó para mí! ¿Es la magia ./una construcción de Linux o específica de rsync? Solo trato de obtener una idea de este comportamiento.
— flow2k

@ flow2k solo rsync magic, para POSIX es redundante.
— Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

1

Con Cygwin Windows rsync, y suponiendo que el rsync remoto esté apuntando a la raíz, haría:

rsync -vtrz --delete server::rsyncid/home/udi/files/pictures /cygdrive/d/backup/home/udi/files

Eso colocará el contenido del directorio de imágenes remotas en / backup / home / udi / files / pictures. Presumiblemente, la sintaxis bajo unix sería similar.

JR


No es útil porque necesitamos reproducir toda la jerarquía de directorios en el lado local antes de ejecutar el comando rsync.
— Ludovic Kuty
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.