GNU/Linux >> Tutoriales Linux >  >> Linux

Rsync:¿Cómo reubicar los enlaces simbólicos absolutos?

Estudié detenidamente la página de manual de rsync, así como varias preguntas relacionadas aquí en serverfault. He jugado con las opciones -R, -L y -l, pero no tuve suerte.

Aquí está la pregunta:al enviar un directorio de local a remoto, ¿hay alguna opción (o combinación de opciones) que reubique los enlaces simbólicos en relación con el directorio local para que se vuelvan relativos al directorio de destino en la máquina remota?

Aquí hay un ejemplo mínimo de lo que quiero enviar:

directorio local: /home/bob/foo

/home/bob/foo/a --> /home/bob/foo/bar
/home/bob/foo/bar

y así es como me gustaría que se materializara en

directorio remoto: /u/apps/foo

/u/apps/foo/a --> /u/apps/foo/bar
/u/apps/foo/bar

Por ejemplo, rsync -az /home/bob/foo/ remote:/u/apps/foo/ no lo hace del todo; terminamos con:

/u/apps/foo/a --> /home/bob/foo/bar
/u/apps/foo/bar

Si /home/bob/foo/bar existe o no en la máquina remota es irrelevante; en cualquier caso, el resultado definitivamente no es lo que necesito.

Respuesta aceptada:

Si los enlaces son a rutas absolutas, no hay forma de evitarlo. Puede evitarlo haciendo que los enlaces simbólicos sean relativos:

/home/bob/foo/a --> ./bar
/home/bob/foo/bar

pero eso puede resultar difícil, dependiendo de cómo genere esos enlaces y cuántos de ellos haya.


Linux
  1. Cómo usar el comando Linux Rsync (sincronización remota)

  2. ¿Cómo programar un comando Rsync?

  3. ¿Cómo agregar una conexión MySQL remota en Linux?

  4. Cómo transferir archivos en Linux con SCP y Rsync

  5. ¿Cómo RSYNC un solo archivo?

Cómo usar SSH para conectarse a un servidor remoto

Cómo eliminar el repositorio remoto de Git

Cómo encontrar enlaces simbólicos rotos en Linux

Cómo:Administración remota de FreeBSD

Cómo hacer una copia de seguridad de un host Linux remoto usando la utilidad rsync de rsnapshot

rsync y enlaces simbólicos