Einschließen von Dateien in ein Symlink-Verzeichnis beim Sichern mit Duplizität

8

Ich sichere mit Duplicity, einem großartigen Tool. Ich kann keine Dateien in die Sicherung aufnehmen, die sich in einem Verzeichnis befinden, das ein Symlink ist.

Verwenden Sie Folgendes:

duplicity <dup args> --include /var/www/**/current --exclude '**'

Durch die Duplizität wird nur der Symlink gesichert, den ich ausprobiert habe:

duplicity <dup args> --include /var/www/**/current/* --exclude '**'
# and
duplicity <dup args> --include /var/www/**/current/** --exclude '**'

Nicht einmal dann wird symlink gesichert.

Das "aktuelle" Verzeichnis enthält Links zu folgenden Verzeichnissen: /var/www/host.com/de9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3

Die Dateien enthalten einige statische HTML- und CSS-Dateien. Ich möchte, dass diese Dateien gesichert werden, unabhängig davon, auf welches Verzeichnis "aktuell" verweist.

Jede Hilfe geschätzt.

rauben
quelle

Antworten:

12

Duplizität folgt nicht von Natur aus Symlinks . Dies liegt daran, dass bei einem Versuch, die Daten wiederherzustellen, die tatsächlichen Dateien wiederhergestellt werden und kein Symlink! Es ist kein sehr gutes Backup, wenn es die Dinge nicht so wiederherstellt, wie sie vorher waren. Es sollte jedoch in der Lage sein, den Symlink selbst zu sichern, und dann sollten Sie eine separate Sicherung der Symlink-Daten durchführen.

Darth Android
quelle
Ja, mein Skript muss nur ein bisschen schlauer sein, wie es entscheidet, was aufgenommen wird. Danke für die Auskunft.
Rob
1

Ab Duplicity 0.8 sollte das --copy-linksFlag genau das tun, was Sie wollen: https://code.launchpad.net/~horgh/duplicity/copy-symlink-targets-721599

Auf diese Weise können wir die Referenzierung vornehmen und angeben, auf welche Symlinks in unserer Sicherung verwiesen wird.

Ich habe das Argument benannt --copy-links. Dies ist der Name, den rsync einem ähnlichen Flag gibt.

ziedaniel1
quelle