Tar-Befehl für inkrementelle Backups und Beibehaltung der Symlinks [GELÖST]

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
JamesByrnes
Beiträge: 119
Registriert: 24.11.2021 11:11:04

Tar-Befehl für inkrementelle Backups und Beibehaltung der Symlinks [GELÖST]

Beitrag von JamesByrnes » 01.11.2024 18:36:32

Hallo zusammen,

ich schreibe gerade ein Backup-Script und komme mit dem tar-Befehl ins Schleudern. Grundsätzlich möchte ich Symlinks wie "typo3 -> typo3_src/typo3" als Symlinks sichern. Erstens weil die dahinterliegenden Dateien bereits separat gesichert werden und zweitens ich bei einer Rücksicherung die Symlinks exakt so wieder bekommen will, wie sie vor einem Backup vorgelegen sind.

Code: Alles auswählen

tar -czf Backup-File.tar.gz /srv/www/irgendwas
macht exakt das, was ich will.
Ich meinem Script arbeite ich mit Icremental- und Full-Backups. Für die inkrementellen Backups erzeuge ich Snapshot-Dateien, aus denen die Veränderungen im Folgebackup abgeleitet werden können.
Mit diesem Tar-Befehl, dachte ich, sollte es klappen:

Code: Alles auswählen

tar -cpf -  -g snapshot_file --no-dereference --acls --xattrs -P  tarfile.tar.gz Verzeichnis
Das funktioniert mit meiner Tar-Version 1.4 nicht und wäre auch unsinnig, wenn die Option "--no-dereference" abhängig von Tar-Versionen wäre. Jetzt suche ich eine Variante, die zuverlässig die Symlinks beihält und nicht in echte Verzeichnisse/Dateien umwandelt.

Grüße
James
Zuletzt geändert von JamesByrnes am 02.11.2024 09:59:12, insgesamt 1-mal geändert.

Benutzeravatar
Livingston
Beiträge: 1816
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: Tar-Befehl für inkrementelle Backups und Beibehaltung der Symlinks

Beitrag von Livingston » 01.11.2024 18:55:08

Laut man-page von tar bedeutet "--dereference", dass den Links gefolgt wird und die realen Dateien gesichert werden. Ein Weglassen der Option sichert demnach die Softlinks.
Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, dass sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, dass es unmöglich zerlegt oder repariert werden kann.
Douglas Adams

tobo
Beiträge: 2346
Registriert: 10.12.2008 10:51:41

Re: Tar-Befehl für inkrementelle Backups und Beibehaltung der Symlinks

Beitrag von tobo » 01.11.2024 19:08:59

Genau, hat man den umgekehrten Fall, dann muss man Optionen angeben und aktiv werden. Dein Vorhaben entspricht aber dem Standardverhalten.
Womöglich ist dieses nicht existierende "no-dereference" der Grund, warum das nicht funktioniert!? Aktuell ist übrigens tar 1.35, selbst bei gnu.org gibts nichts Neueres...

JamesByrnes
Beiträge: 119
Registriert: 24.11.2021 11:11:04

Re: Tar-Befehl für inkrementelle Backups und Beibehaltung der Symlinks

Beitrag von JamesByrnes » 01.11.2024 19:25:31

Livingston hat geschrieben: ↑ zum Beitrag ↑
01.11.2024 18:55:08
Laut man-page von tar bedeutet "--dereference", dass den Links gefolgt wird und die realen Dateien gesichert werden. Ein Weglassen der Option sichert demnach die Softlinks.
Ich habe nicht "--dereference", sondern "--no-dereference" drinstehen.

Benutzeravatar
Livingston
Beiträge: 1816
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: Tar-Befehl für inkrementelle Backups und Beibehaltung der Symlinks

Beitrag von Livingston » 01.11.2024 19:37:40

Eben. Es gibt in Debiantar (also das Standard-GNU-tar) keine Option "--no-dereference". Also lass diese Option weg, und Du hast, was Du willst.
Oder hast Du ein anderes tar installiert? Dann müsstest Du schon sagen, welches das ist.
Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, dass sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, dass es unmöglich zerlegt oder repariert werden kann.
Douglas Adams

Antworten