Löschen Sie Dateien aus rdiff-backup

8

Wir haben ein System, das rdiff-backup für seine Backups verwendet. Da die Sicherungspartition jedoch nicht über genügend Speicherplatz verfügt, müssen wir die Situation erneut untersuchen. Wir brauchen eine dauerhafte Lösung, aber bis dahin müssen wir nur etwas Speicherplatz auf der Sicherungspartition freigeben.

Ich habe eine Reihe von Dateien gefunden, die wir entfernen können *, aber ich frage mich, wie ich das machen soll. Der erste Schritt wäre natürlich, die Dateien aus dem eigentlichen Dateisystem zu entfernen. Als nächstes müsste ich es aus den Backups löschen (dort brauchen wir den Speicherplatz), aber ich habe keine Ahnung, wie ich das anstellen soll. Hat jemand eine Idee, wie das geht?

* Jemand - lange nicht im Büro - der Spiele und persönliche Fotos in seinem Home-Verzeichnis hatte, mehrere Kopien von virtuellen Festplatten

Jaspis
quelle

Antworten:

11

Der Vorgang zum Behandeln von Löschvorgängen, wenn Ihnen der Speicherplatz ausgeht, wird in den inoffiziellen FAQ unter Entfernen von Dateien aus dem Sicherungssatz beschrieben . Wiederholen hier nur der Vollständigkeit halber.


Diese Methode ist sehr gefährlich und sollte nicht verwendet werden , es sei denn, die Dateien, die Sie entfernen möchten, führen dazu, dass auf Ihrem Sicherungslaufwerk nicht mehr genügend Speicherplatz vorhanden ist. Ihre einzige Alternative zum Entfernen dieser Dateien besteht darin, ganze Inkremente zu entfernen.

WICHTIG: Richtig gesagt, sollten Sie Schritt 4 für jedes Inkrement von mirror_metadata ausführen. Rdiff-backup vor 1.1.1 hat nichts dagegen, zusätzliche Spiegel-Metadaten-Einträge für Dateien zu haben, die auf diese Weise aus dem Sicherungssatz entfernt werden, außer in der neuesten Version von Spiegel-Metadaten. Bei 1.1.1 hat sich jedoch die Behandlung von mirror_metadata geändert - rdiff-backup unterscheidet jetzt die Metadatendateien - und es ist nicht bekannt, ob zusätzliche Einträge in diesen verschiedenen Dateien die Wiederherstellungsvorgänge beeinflussen. (Technischer Hinweis: Die Spiegel-Metadaten-Unterschiede verwenden NICHT dieselbe Methode wie die Datei-Unterschiede. Es handelt sich nicht um Rdiff-Delta-Dateien, sondern um Nur-Text-Dateien (und nein, es handelt sich auch nicht um normale Text-Unterschiede). Aus diesem Grund ist es sicher zur Hand -edit sie, also wenn Sie müssen, können Sie Schritt 4 für diese Unterschiede ausführen.)

  1. Überprüfen Sie die Uhrzeit - stellen Sie sicher, dass die Zeit für eine geplante Ausführung von rdiff-backup nicht nahe ist. Stellen Sie außerdem sicher, dass rdiff-backup nicht ausgeführt wird.

  2. Gehen Sie in Ihr Spiegelzielverzeichnis und löschen Sie dort die Datei oder das Verzeichnis.

  3. Gehen Sie in rdiff-backup-data / increments auf dem Ziel und löschen Sie dort alle Spuren der Datei / des Verzeichnisses. Wichtig! Wenn Sie ein Verzeichnis entfernen, stellen Sie sicher, dass Sie auch alle * .dir-Dateien dafür finden und entfernen! Wenn es sich um eine Datei handelt, stellen Sie sicher, dass Sie alle * .missing-Dateien finden und entfernen (falls vorhanden). Achten Sie darauf, nichts zu entfernen, das nicht mit dem zu entfernenden Objekt zusammenhängt. Andernfalls verlieren Sie möglicherweise die Fähigkeit, andere Dateien wiederherzustellen.

  4. Wichtiger Schritt! (und WARNUNG Dies ist mit rdiff-backup 1.1.1 oder höher nicht getestet.) Gehen Sie zurück zu rdiff-backup-data und gunzipen Sie die neueste Spiegel-Metadatendatei. Bearbeiten Sie die Datei mirror_metadata in einem gut erzogenen Texteditor (WARNUNG! Verwenden Sie keinen Pico oder Nano oder andere Elemente, die möglicherweise automatisch Zeilenumbrüche ausführen!) Und entfernen Sie alle Verweise auf die gelöschte Datei oder das gelöschte Verzeichnis. Achten Sie darauf, das Format der Datei nicht zu verfälschen.

Dan Carley
quelle
Die inoffizielle FAQ ist nicht verfügbar. Ich bin froh, dass Sie die Anweisungen reproduziert haben.
Kynan
Das Erzwingen einer Regression kann ebenfalls nützlich sein, denn wenn Sie nur das letzte Inkrement löschen können, ist dies der sicherere Ansatz.
Halfgaar
1
Es scheint, dass jemand ein Skript erstellt hat, das die oben genannten Schritte ausführt. eugenemakerspace.com/wiki/Sites/Rdiff-backup-delete
varta
2

Es scheint, dass jemand ein Skript erstellt hat, das die obigen Schritte ausführt: https://www.eugenemakerspace.com/wiki/Sites/Rdiff-backup-delete

Ich habe es nicht getestet, aber ich habe einen "Spar" -Weg gewählt, indem ich alle Dateien, die bereits seit 2 Wochen verschwunden sind, durch Ausführen gelöscht habe

rdiff-backup --remove-older-than 2W host.net::/remote-dir

Weitere Beispiele http://www.nongnu.org/rdiff-backup/examples.html

Varta
quelle