Wie erstelle ich ein Backup von symbolischen Links?

63

Ich habe ein Verzeichnis mit symbolischen Links zu anderen Verzeichnissen. Ich möchte die symbolischen Links mit dem Befehl tar archivieren, nicht als Links, sondern als Archive, die die Dateien der Verzeichnisse enthalten, auf die sie verweisen. Wie kann ich das machen?

hknik
quelle

Antworten:

91

Verwenden Sie die -hOption tar. Von der Manpage:

-h, --dereference
    don't archive symlinks; archive the files they point to
Matte
quelle
3
Wenn ich / sym1-Punkte auf / backups und / sym2-Punkte auf / backups habe, führe ich dann / backups tar -hcf file.tar /sym1 /sym2zweimal aus?
Felipe Alvarez
@FelipeAlvarez -Lzählt Dateien einmal, -lmehrmals. Sehen Sie hier .
Suuuehgi
3

Wenn sich die Links alle im Stammverzeichnis befinden, können Sie sie von der Shell dereferenzieren lassen und als Argumente an tar übergeben. Wenn Sie zum Beispiel / backup / source / a und / backup / source / b haben, die beide symbolische Links sind, die auf das reale Verzeichnis verweisen, würde etwas wie das Folgende funktionieren

tar -cf /path/to/backup.tar /backup/source/*/
Patrick
quelle
Funktioniert hier nicht. Scheint, als ob tar -cf /path/to/backup.tar /backup/source/a/alleine nicht funktioniert, wenn aes sich um einen Symlink handelt.
Zero3