¿Cómo crear copias de seguridad de enlaces simbólicos?

63

Tengo un directorio con enlaces simbólicos a otros directorios. Quiero archivar los enlaces simbólicos, no como enlaces, sino como archivos que contienen los archivos de directorios a los que hacen referencia, utilizando el comando tar. ¿Cómo puedo hacer esto?

hknik
fuente

Respuestas:

92

Utiliza la -hopción tar. Desde la página del manual:

-h, --dereference
    don't archive symlinks; archive the files they point to
Estera
fuente
44
Si tengo / sym1 apunta a / backups y / sym2 apunta a / backups, entonces ejecuto tar -hcf file.tar /sym1 /sym2¿obtendré / backups dos veces?
Felipe Alvarez
@FelipeAlvarez -Lcuenta los archivos una vez, -lvarias veces. Ver aquí .
Suuuehgi
3

Si todos los enlaces están en el directorio raíz, puede hacer que el shell los desreferencia y pasar a tar como argumentos. Por ejemplo, si tiene / backup / source / a y / backup / source / b, los cuales son enlaces simbólicos que apuntan al directorio real, algo como lo siguiente funcionaría

tar -cf /path/to/backup.tar /backup/source/*/
Patricio
fuente
No funciona aqui. Parece que tar -cf /path/to/backup.tar /backup/source/a/solo ni siquiera funciona cuando aes un enlace simbólico.
Zero3