Restic: Schließen Sie nicht angewendete Muster aus

Erstellt am 20. Juni 2017  ·  4Kommentare  ·  Quelle: restic/restic

Ausgabe von restic version

Restic 0.6.1 (v0.6.1-126-gb0fb95df)
kompiliert mit go1.8.3 auf darwin / amd64

Wie hast du genau mit Restic angefangen? (Fügen Sie die vollständige Befehlszeile hinzu)

restic backup --exclude-file ~/exclude.txt ~

Welches Backend / Server / Service haben Sie verwendet?

SFTP zu LAN

Erwartetes Verhalten

Überspringen Sie die Dateien, die dem Muster in exclude.txt entsprechen

Tatsächliches Verhalten

Dateien wurden aufgenommen, es sei denn, ich habe das Muster drastisch bis zu einem Punkt gelockert, an dem das Muster zu mehrdeutig ist.

Schritte zum Reproduzieren des Verhaltens

Verwenden einer Ausschlussdatei wie folgt:

.[^.]*
/matt/Applications
/matt/Dropbox
/matt/Downloads
/matt/VirtualBox VMs
*.vmdk

Mein Ziel ist es, Punktedateien und einige bestimmte Ordner in meinem $ HOME-Verzeichnis (mit dem Namen matt ) zu überspringen (aber nicht jeden Ordner mit dem Namen "Anwendungen" zum Beispiel). Oh, und alle .vmdk-Dateien (sie können riesig sein!)

Als ich die Muster dazu entspannte:

.[^.]*
Applications
Dropbox
Downloads
VirtualBox VMs
*.vmdk

Es hat funktioniert (was bedeutet, dass die Ordner übersprungen wurden), aber dies ist zu vieldeutig, da ich beispielsweise nicht alle Ordner mit dem Namen Downloads überspringen möchte.

Haben Sie eine Idee, was dies verursacht haben könnte?

Wahrscheinlich verstehe ich Ausschlussmuster immer noch nicht richtig. : smile: Ich habe # 1005 gelesen und bin wohl verwirrt, ob für --exclude absolute Pfade erforderlich sind oder ob repo-absolute Pfade wie bei --include erforderlich sind.

documentation bug

Hilfreichster Kommentar

Seufz, ja, du hast absolut recht. Die Ausschlussmuster sind absolut in Bezug auf das, was Sie sichern:
Das Muster /home/matt/*.go stimmt mit allen Go-Dateien in Ihrem Haus überein, wenn Sie restic backup /home/matt ausführen. Aufgrund der Funktionsweise des Archivierers (siehe # 549, schlechte Designentscheidung, die wir korrigieren müssen) wird das Präfix /home/ gelöscht und die Pfadkomponente der obersten Ebene im Snapshot ist /matt . Für die Wiederherstellung müssen Sie also ein Include-Muster von /matt/*.go , um mit denselben Dateien übereinzustimmen. Ich weiß, dass es schlecht ist, ich werde es irgendwann korrigieren :)

Dies ist also die korrigierte Liste der Ausschlussdateien für Ihren Anwendungsfall:

.[^.]*
/home/matt/Applications
/home/matt/Dropbox
/home/matt/Downloads
/home/matt/VirtualBox VMs
*.vmdk

Alle 4 Kommentare

Update: Okay, das Ersetzen von /matt/ durch $HOME/ schien zu funktionieren, obwohl ich die Inkonsistenz zwischen --exclude und --include absoluten Pfaden etwas seltsam / überraschend finde.

Normalerweise ist $HOME/blabla /home/matt/blabla oder haben Sie etwas an Ihrem System geändert?

Seufz, ja, du hast absolut recht. Die Ausschlussmuster sind absolut in Bezug auf das, was Sie sichern:
Das Muster /home/matt/*.go stimmt mit allen Go-Dateien in Ihrem Haus überein, wenn Sie restic backup /home/matt ausführen. Aufgrund der Funktionsweise des Archivierers (siehe # 549, schlechte Designentscheidung, die wir korrigieren müssen) wird das Präfix /home/ gelöscht und die Pfadkomponente der obersten Ebene im Snapshot ist /matt . Für die Wiederherstellung müssen Sie also ein Include-Muster von /matt/*.go , um mit denselben Dateien übereinzustimmen. Ich weiß, dass es schlecht ist, ich werde es irgendwann korrigieren :)

Dies ist also die korrigierte Liste der Ausschlussdateien für Ihren Anwendungsfall:

.[^.]*
/home/matt/Applications
/home/matt/Dropbox
/home/matt/Downloads
/home/matt/VirtualBox VMs
*.vmdk

@ibib Auf meinem Mac ist mein Home-Verzeichnis /Users/matt , aber da --include einen repository-absoluten Pfad verwendet (wie restic ls zeigt), habe ich mir den richtigen absoluten Pfad vorgestellt /matt/... .

@ fd0 Ah! Das macht mehr Sinn, danke für die Erklärung. Bei Verwendung mit restic backup ist --exclude für das Dateisystem absolut, und --include (verwendet mit restic restore ) ist für das Repository absolut. Mit anderen Worten, die Muster sind absolut dahin, woher die Dateien kommen.

Vielen Dank für die Erklärung. Jetzt verstehe ich besser, warum 549 ein Problem ist, das Sie beheben möchten. :Lächeln:

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen