web-dev-qa-db-fra.com

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

J'ai un répertoire avec des liens symboliques vers d'autres répertoires. Je veux archiver les liens symboliques, non pas comme des liens mais comme des archives contenant les fichiers des répertoires auxquels ils se réfèrent, en utilisant la commande tar. Comment puis-je faire ceci?

67
hknik

Utilisez le -h option tar. Depuis la page de manuel:

-h, --dereference
    don't archive symlinks; archive the files they point to
101
Mat

Si les liens sont tous dans le répertoire racine, vous pouvez demander au shell de les déréférencer et de passer à tar comme 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, quelque chose comme le suivant fonctionnerait

tar -cf /path/to/backup.tar /backup/source/*/
3
Patrick