Comment créer une sauvegarde à partir de liens symboliques?

63

J'ai un répertoire avec des liens symboliques vers d'autres répertoires. Je souhaite archiver les liens symboliques, non pas sous forme de liens, mais sous forme d'archives contenant les fichiers des répertoires auxquels ils font référence, à l'aide de la commande tar. Comment puis-je faire ceci?

Hknik
la source

Réponses:

92

Utilisez l' -hoption tar. De la page de manuel:

-h, --dereference
    don't archive symlinks; archive the files they point to
Tapis
la source
4
Si j'ai / sym1 pointe sur / backups et / sym2 pointe sur / backups, puis-je exécuter tar -hcf file.tar /sym1 /sym2deux fois / backups?
Felipe Alvarez
@FelipeAlvarez -Lcompte les fichiers une fois, -lplusieurs fois. Voir ici .
Suuuehgi
3

Si tous les liens se trouvent dans le répertoire racine, vous pouvez demander au shell de les déréférencer et de les transmettre à tar en tant qu'arguments. Par exemple, si vous avez / backup / source / a et / backup / source / b, qui sont tous deux des liens symboliques pointant vers le répertoire réel, les éléments suivants fonctionneraient

tar -cf /path/to/backup.tar /backup/source/*/
Patrick
la source
Ça ne marche pas ici. On dirait que tar -cf /path/to/backup.tar /backup/source/a/seul ne fonctionne même pas quand aest un lien symbolique.
Zero3