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?

Antworten:


91

Verwenden Sie die -hOption tar. Von der Manpage:

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

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/*/

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.