Utilizo rsnapshot para crear copias de seguridad por hora / día / semana / mes de mi "trabajo" compartido. Ahora estoy tratando de copiar todo el directorio de respaldo en una unidad externa usando rsync.
Usé este comando / parámetros dentro de una sesión de pantalla (sí, rsync-exclude.txt se encuentra en el directorio desde el que ejecuto el comando)
rsync -avzHP --exclude-from 'rsync-exclude.txt' /share/backup/ /share/eSATADisk1/backup/;
Todo se está ejecutando en un QNAP TS-439, la unidad interna es un disco único (sin RAID) formateado EXT4, la unidad externa tiene formato EXT3.
Lo que sucede es: Rsync sigue cada enlace duro y copia el archivo real en lugar de recrear el enlace duro actualizado en la unidad externa. No reconocí esto de inmediato, por lo que la unidad externa terminó destrozada con xxx copias de los mismos archivos.
Lo que quiero lograr es: copiar toda la estructura de archivos generada por rsnapshot en la unidad externa manteniendo los enlaces duros para ahorrar espacio. Nota: Esto no debe hacerse necesariamente con rsync.
Gracias por tus ideas y tiempo. Agradecería tu ayuda, a lo grande.
Actualización: Aprendí que rsnapshot no está usando enlaces simbólicos, está usando enlaces duros, así que ahora uso la opción -H que debería preservar la estructura de enlace rígido de acuerdo con Rsnapshot a múltiples destinos (o mantener la estructura de enlaces duros) pero aún así no funcionará ... ¿que me estoy perdiendo aqui?
Actualización 2: Encontré otra opinión / declaración sobre este tema aquí: rsync con --hard-links freezes Steven Monday sugiere no intentar rsync estructuras de archivos grandes que contengan enlaces duros , ya que absorbe mucha memoria y es una tarea difícil para rsync. Entonces, probablemente una mejor solución sería hacer un .img de la estructura de datos que estoy tratando de respaldar. ¿Qué piensas?