GNU/Linux >> Tutoriales Linux >  >> Linux

rsync y enlaces simbólicos

  1. "Copiar enlaces simbólicos como enlaces simbólicos" significa exactamente lo que dice:si rsync ve un enlace simbólico en el directorio de origen, creará un enlace simbólico idéntico en el destino. Nada más.

    (Unas líneas más abajo en la página del manual, un diferente opción, --copy-links , describe el comportamiento opuesto (siempre copiando los datos) que usted describió como indeseable).

    Ver también la sección "Enlaces simbólicos":

    Si --links se especifica, luego los enlaces simbólicos se vuelven a crear con el mismo objetivo en el destino.

  2. No es el comportamiento que desea porque está malinterpretando lo que --links hace y, por lo tanto, pregunta por el comportamiento incorrecto (ver respuesta #1).

  3. Por defecto, copia el destino exactamente.

    Es decir, si el enlace apuntaba a una ruta absoluta (por ejemplo, /home/me/projects ), seguirá apuntando a la misma ruta; no se romperá , seguirá apuntando a un archivo en su directorio de inicio en lugar del que está en su copia de seguridad.

    Mientras tanto, si el enlace apuntaba a una ruta relativa (por ejemplo, ../../projects ), también continúe apuntando a la misma ruta, pero dado que es relativa a la ubicación del enlace simbólico, el enlace simbólico en su copia de seguridad también apuntará a un archivo en su copia de seguridad.

    Desafortunadamente, no parece haber ninguna opción para traducir enlaces simbólicos absolutos para su nueva base (solo una opción para romperlos por completo). Para evitar problemas, debe cambiar los enlaces simbólicos existentes por enlaces relativos (lo cual es una buena idea en general, para enlaces dentro de $HOME).


@grawity tiene una excelente respuesta, pero aquí hay una captura de pantalla de información relevante de la documentación. Aquí está la redacción exacta del -l y -L opciones, por ejemplo, que parecen ser las más relevantes en cuestión:

Fuente:https://linux.die.net/man/1/rsync, o man rsync páginas de manual en Linux.

Tenga en cuenta también que el -a (--archive ) la opción también incluye el -l opción dentro de él, lo cual es increíble, ya que me gusta mucho usar el -l opción para conservar mis enlaces simbólicos del origen como enlaces simbólicos en el destino. De las páginas man:

-a, --archive               archive mode; equals -rlptgoD (no -H,-A,-X)

Nota, para mi rsync favorito Comandos e instrucciones, incluyendo copiar, duplicar, mostrar el progreso total...

...haciendo ensayos, registrando stderr y stdout en archivos (separados), mostrando estadísticas, usando un archivo de ruta de inclusión y un archivo de exclusión , etc., vea mi respuesta completa aquí en la segunda sección, titulada "2. Herramienta de línea de comandos rsync (Linux, Windows con Cygwin) ":https://superusuario.com/a/1464264/425838


Linux
  1. Git y enlaces duros

  2. Barras y el comando rsync

  3. ¿Cómo copiar enlaces simbólicos?

  4. Demasiados niveles de enlaces simbólicos

  5. Consejos y trucos de rsync favoritos

Cómo crear enlaces simbólicos en Linux

Cómo quitar (eliminar) enlaces simbólicos en Linux

Una forma sencilla de enumerar enlaces simbólicos en Linux

¿Enlaces simbólicos rápidos y lentos?

Cómo encontrar enlaces simbólicos rotos en Linux

Cómo obtener una lista de enlaces simbólicos en Linux