Al realizar una copia de seguridad con rsync, ¿cómo mantengo la estructura completa del directorio?
Por ejemplo, el servidor remoto esSaturnoy quiero hacer una copia de seguridadSaturno's/home/udi/archivos/imágenesa un directorio local llamadorespaldo.
Quiero tener (localmente)copia de seguridad/home/udi/archivos/imágenesen vez decopia de seguridad/imágenes.
Respuesta1
Utilice la opción -R
o --relative
para conservar la ruta completa.
Respuesta2
Otro caso de uso común relacionado es mantener una parte seleccionada del árbol de directorios /./
, por ejemplo, si desea:
/home/udi/files/pictures
ir a:
backup/files/pictures
puedes escribir:
rsync --relative /home/udi/./files/pictures backup
La magia /./
se analiza especialmente rsync
antes de pasar esa ruta a las llamadas al sistema y le indica desde dónde comenzar a crear directorios. Esto /./
no significa nada para otras utilidades POSIX en general, por ejemplo, la ruta a/./b
es la misma que a/b
en POSIX.
Respuesta3
Con Cygwin Windows rsync, y suponiendo que el rsync remoto apunte 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 en Unix sería similar.
J.R.
Respuesta4
Puede realizar cambios en cron según cuándo desee iniciar rsync
rsync -avz -e ssh ruser@rserver:/home/udi/files/pictures/* /backup/pictures/
También puede agregar una clave ssh para conectarse al servidor remoto sin contraseña.