Restic: Backup-Größe beim Auflisten von Snapshots ausdrucken (Erweiterung)

Erstellt am 10. Dez. 2016  ·  20Kommentare  ·  Quelle: restic/restic

Ausgabe von restic version

Beliebig.

Erwartetes Verhalten

Das Hinzufügen einer zusätzlichen Spalte zum Auflisten der Größe des Backups (in Bytes) kann sehr nützlich sein.
Es hilft Ihnen, zwischen verschiedenen Backups zu unterscheiden, indem Sie einfach ihre Größe überprüfen.

$ restic snapshots
ID        Date                 Host        Tags        Directory    Size
--------------------------------------------------------------------------
5b969a0e  2016-12-09 15:10:32  localhost               myfile       390865

Tatsächliches Verhalten

$ restic snapshots
ID        Date                 Host        Tags        Directory
----------------------------------------------------------------------
5b969a0e  2016-12-09 15:10:32  localhost               myfile
stats user interface feature enhancement

Hilfreichster Kommentar

Das Problem mit der Größe "neuer" Blobs (die von diesem bestimmten Snapshot hinzugefügt wurden) wird mit der Zeit weniger relevant, da diese Blobs von späteren Snapshots referenziert werden. Wenn frühere Snapshots entfernt werden, erhöht sich außerdem die Anzahl der Blobs, auf die ein bestimmter Snapshot verweist.

Ich halte es für sinnvoll, diese Informationen direkt nach Abschluss der Sicherung auszudrucken, und wir können sie auch in der Snapshot-Datenstruktur im Repository aufzeichnen. Ich habe geplant, für einen bestimmten Snapshot eine Art "Detailansicht" hinzuzufügen, und ich denke, es ist eine gute Idee, die Anzahl und Größe neuer Blobs dort anzuzeigen, aber in der Übersicht (Befehl snapshots ) es ist nicht relevant genug. Dort sollte restic meiner Meinung nach die gesamte Größe eines bestimmten Snapshots anzeigen (was Sie erhalten, wenn Sie ihn wiederherstellen würden), da sich daran nichts ändert.

Alle 20 Kommentare

Danke für den Vorschlag. Welche Größe würden Sie erwarten? Da alle Daten dedupliziert werden, ist eine "Größe" für einen bestimmten Snapshot nicht so einfach zu bestimmen. Wäre das die Größe aller Daten, auf die in diesem Snapshot verwiesen wird? Oder die Daten, die beim Erstellen des Snapshots noch nicht im Repo gespeichert waren (neue Daten)?

Dies ist ein sehr guter Vorschlag. Die Zahl auf der rechten Seite sollte die kumulative Größe der Blobs sein, die dem Repository hinzugefügt wurden. Dies ist der interessanteste quantitative Parameter bei jedem Backup-Lauf.

Wie viel Platz hat mein Inkremental in dieser Nacht verschwendet? Hoppla, es ist 10x mehr als letzte Nacht, ich habe irgendwo etwas Müll liegen lassen (oder vergessen, einige Ausschlusskriterien anzugeben), ich räume es besser auf. ;)

+1 für @zcalusic- Vorschlag

Das Problem mit der Größe "neuer" Blobs (die von diesem bestimmten Snapshot hinzugefügt wurden) wird mit der Zeit weniger relevant, da diese Blobs von späteren Snapshots referenziert werden. Wenn frühere Snapshots entfernt werden, erhöht sich außerdem die Anzahl der Blobs, auf die ein bestimmter Snapshot verweist.

Ich halte es für sinnvoll, diese Informationen direkt nach Abschluss der Sicherung auszudrucken, und wir können sie auch in der Snapshot-Datenstruktur im Repository aufzeichnen. Ich habe geplant, für einen bestimmten Snapshot eine Art "Detailansicht" hinzuzufügen, und ich denke, es ist eine gute Idee, die Anzahl und Größe neuer Blobs dort anzuzeigen, aber in der Übersicht (Befehl snapshots ) es ist nicht relevant genug. Dort sollte restic meiner Meinung nach die gesamte Größe eines bestimmten Snapshots anzeigen (was Sie erhalten, wenn Sie ihn wiederherstellen würden), da sich daran nichts ändert.

Ich wurde sofort an das Statistik-Flag von rdiff-backup erinnert (siehe https://www.systutorials.com/docs/linux/man/1-rdiff-backup-statistics/ ). manchmal ist es schön, eine Art Delta zwischen 2 Schnappschüssen zu sehen.

Tatsächlich, aber das ist etwas anderes: Es wird live berechnet und vergleicht zwei Schnappschüsse. Wir können so etwas hinzufügen, aber das ist für die snapshots Übersichtsliste zu teuer (zumindest mit den Informationen, die wir derzeit in den Datenstrukturen haben).

Es könnte nützlich sein, die Größe der Daten, die für den Snapshot 'eindeutig' sind, im Vergleich zur Gesamtgröße (einschließlich der deduplizierten Daten) des Snapshots zu kennen.

IMO wäre es sehr nützlich, eine Vorstellung davon zu haben, wie viel zusätzlicher Speicherplatz für einen neuen Schnappschuss verwendet wurde. Dies kann sogar nur physischer Speicherplatz sein, der während des Backups berechnet und in den Metadaten des Snapshots gespeichert wird. Wenn ein Snapshot entfernt wird, sollten diese Metadaten in allen zukünftigen Snapshots ungültig gemacht werden.

Ich denke, ich würde eine solche Funktion begrüßen, auch wenn nichts anderes in dieser Richtung unternommen wird. Schön wäre aber auch eine Möglichkeit, diese "zusätzliche Größe" neu zu berechnen, nachdem einige vorherige Backups entfernt wurden. Ich denke, das macht BackupLoupe für Time Machine unter Mac OS. (Die Deduplizierung in Time Machine ist sehr einfach, aber das Problem der Definition der "Größe eines Schnappschusses" ist dasselbe).

Das Wichtigste, was ich von Anfang an wissen möchte, ist, wie viel Speicherplatz der Inhalt von Snapshot X auf der Zielfestplatte verbrauchen würde, wenn ich ihn wiederherstelle.

Vorzugsweise wäre ich auch in der Lage, diese Informationen nur für eine Teilmenge der Dateien zu erhalten, zB wenn es einen size Befehl gäbe, der dieselbe Art von Einschluss-/Ausschlussoptionen wie der restore Befehl verwendet. Oder wenn der Befehl restore eine Option hat, die dazu führt, dass nur Statistiken wie diese ausgegeben werden, anstatt sie tatsächlich wiederherzustellen.

Danke @rawtaz für den Hinweis auf dieses Problem.

Ich speichere Backups in gemessenem Speicher (Backblaze B2). Ich möchte wissen, wie viele neue Daten ich jedes Mal erstelle, wenn ich ein Backup durchführe. Es scheint, als ob dies während des Backup-Prozesses leicht zu berechnen sein sollte; Ich würde mich freuen, wenn restic das einfach im Rahmen eines Backup-Abschlusses protokollieren würde... aber es scheint auch sinnvoll zu sein, dies als Attribut des Snapshots zu speichern (damit es in Zukunft abgefragt werden kann).

Ich interessiere mich nicht wirklich für alles, was ein umfangreiches erneutes Scannen des Repositorys erfordert, da dies einfach zusätzliche Kosten verursacht.

Irgendwelche Neuigkeiten?

Hallo

Diesem Vorschlag möchte ich mich anschließen. Zusätzlich zu 'Wie groß wäre dieser Snapshot, wenn ich ihn wiederherstellen würde' für einen vorhandenen Snapshot und 'Wie viel hat dieser Snapshot hinzugefügt', wenn ein Snapshot erstellt wird, habe ich einen dritten Vorschlag:

Es wäre auch hilfreich, die Frage beantworten zu können: 'Um wie viel würde sich meine Repo-Größe reduzieren, wenn ich die folgenden Snapshots entferne?' Dies wäre in restic forget --prune --dry-run nützlich, wenn Sie entscheiden, ob Snapshots gelöscht werden sollen. Ich habe zum Beispiel kürzlich 20 der 40 Snapshots in einem Repo gelöscht und die Größe von 1,1 GB auf 1,0 GB reduziert. Hätte ich gewusst, dass dies nur 100 MB gespart hätte, hätte ich wahrscheinlich die älteren Snapshots behalten.

@mholt hat #1729 erstellt, um einige Statistiken

@dimejo Es ist geschafft – warte nur darauf, dass es überprüft/zusammengeführt wird. :)

Springe hier auf ein wirklich altes Thema, aber für mich gibt es 2 wichtige Größenfelder, wenn ich an Schnappschüsse denke

  • Die Snapshot-Größe im Speicher
  • Die Wiederherstellungsgröße

z.B

$ restic snapshots
ID        Date                 Host        Tags        Directory    Snapshot Size   Restore Size 
--------------------------------------------------------------------------------------------------
5b969a0e  2016-12-09 15:10:32  localhost               myfile       10 MB           57 GB

Zumindest konnte ich dann feststellen, wie viel Speicherplatz ein einzelner Snapshot belegt und wie viel Speicherplatz ich für eine Wiederherstellung benötige.

Wie @fd0 bereits erwähnt hat, wäre das Drucken der Größe bei jedem Aufruf von restic snapshots ein ziemlich teurer Befehl. Sie können jedoch restic stats verwenden , um die Größe einzelner Snapshots oder des gesamten Repositorys auszudrucken.

Ich halte es für sinnvoll, diese Informationen direkt nach Abschluss der Sicherung auszudrucken, und wir können sie auch in der Snapshot-Datenstruktur im Repository aufzeichnen. Ich habe geplant, für einen bestimmten Snapshot eine Art "Detailansicht" hinzuzufügen, und ich denke, es ist eine gute Idee, die Anzahl und Größe neuer Blobs dort anzuzeigen, aber in der Übersicht (Befehl snapshots ) es ist nicht relevant genug. Dort sollte restic meiner Meinung nach die gesamte Größe eines bestimmten Snapshots anzeigen (was Sie erhalten, wenn Sie ihn wiederherstellen würden), da sich daran nichts ändert.

Großartige Idee! Ist diese Verbesserung in der Warteschlange? Auch die Gesamtgröße der deduplizierten Daten im Repository wäre bei einer solchen Übersicht hilfreich.

Irgendein Update für diese Funktion? Es ist sehr nützlich, jede Snapshot-Größe und ihre Wiederherstellungsgröße sehen zu können.

+1

Nicht zu diesem Zeitpunkt. Wenn es Updates gibt, werden sie in dieser Ausgabe angezeigt.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

mholt picture mholt  ·  4Kommentare

ikarlo picture ikarlo  ·  4Kommentare

fd0 picture fd0  ·  3Kommentare

axllent picture axllent  ·  4Kommentare

viric picture viric  ·  5Kommentare