Verwenden von NTFS-Hardlinks zum Kombinieren von vollständigen / differenziellen Sicherungen

17

Kurz: Ist es möglich, einen Verzeichnisbaum mithilfe von Hardlinks anstelle einer physischen Kopie (robo) zu kopieren?

Ich möchte meine Datendateien täglich in einem eigenen Verzeichnis sichern. Jetzt ändern sich die meisten Dateien nicht mehr jeden Tag. Daher bestand meine Idee, die Sicherung zu beschleunigen und weniger Speicherplatz zu verbrauchen, darin, die Sicherung von (Tag-1) auf (Tag) mithilfe fester Links zu kopieren und dann die vorhandenen Dateien mit Robocopy zu ersetzen seit gestern geändert. Auf diese Weise müsste ich die vollständige Sicherung nur einmal auf das USB-Laufwerk kopieren. Danach könnte ich nur die Änderungen kopieren und noch Verzeichnisse mit allen Dateien haben, um Dateien mit anderen Sicherungen über feste Verknüpfungen auszutauschen. Auf diese Weise habe ich zwei vollständige Sicherungen erhalten, aber es wird nur Speicherplatz für eine + Differenz verwendet, und auf die Sicherungsdateien kann zugegriffen werden, ohne dass eine spezielle Software erforderlich ist. Dies ist ein großes Plus für mich.

Ist das möglich?
Gibt es ein Programm zum Erstellen von Hardlink-Kopien aller Dateien in einem Verzeichnisbaum?
Vermisse ich eine Falle, die mir nicht bewusst ist?

Sam
quelle
Dies ist hier zu finden: blog.mutable.net/post/2007/01/17/…
Bryan

Antworten:

9

Es gibt eine Möglichkeit, Backups zu erstellen, wie Sie sagen, aber ich glaube nicht nur mit Robocopy.

Es gibt mehrere Programme, die Backups fest verknüpfen oder deduplizieren und platzsparend sind.

Hier sind einige Programme, die ich verwendet habe oder auf die ich gestoßen bin:

  • Dupemerge - frei - Obwohl es kein "Backup-Programm" ist, handelt es sich um einen Massen-Hardlinker.
  • Hardlink-Backup - kostenlos für den persönlichen Gebrauch - verwendet Hardlinks
  • Duplicati - kostenlos - (Ich glaube, Deduplizierer wie Rsync)
  • rdiff-backup - kostenlos - dedupes wie rsync

Ich glaube, was gut zu Ihren Fragen passt, ist Dupemerge. Sie können Robocopy von einer Stapeldatei ausführen lassen, um den Inhalt in ein Verzeichnis zu kopieren (z. B. d: \ backups \ YYYY-MM-DD). Wenn dieser Befehl ausgeführt wird, kann die Batch-Datei Dupemerge unter d: \ backups aufrufen. Das würde die Dateien in und über alle Unterverzeichnisse von d: \ backups hinweg verlinken.

Der Nachteil ist, dass Sie auf der externen Seite genügend Speicherplatz benötigen, um das neu erstellte, nicht fest verknüpfte Backup zu speichern. Nach dem Ausführen von Dupemerge wird das neu erstellte Backup fest verknüpft und der Speicherplatz freigegeben.

Dies würde die Wiederherstellung vereinfachen, da jedes datierte Verzeichnis eine vollständige Sicherung zu haben scheint.

Als Randnotiz, wenn Sie harte Links verwenden wollen, mag ich Link Shell Extension . Es hilft Ihnen zu wissen, was nicht fest verbunden ist, was ist und womit es verbunden ist.

Ich bin auf andere Hardlink- oder Deduplizierungsprogramme gestoßen, aber diese haben mir am besten gefallen.

Scott McClenning
quelle
5
+1 Für eine anständige Zusammenfassung und die Erwähnung von LSE. Sie haben jedoch das einzige Tool vergessen, das dem OP fast genau das gibt, was er will: ln.exe's Delorean Copy wurde ln.exe von derselben Person geschrieben, die sowohl Dupemerge als auch LSE geschrieben hat. Es fehlt nur noch die VSS-Unterstützung und ... oh schau! Auf geht's! ;-)
afrazier
@afrazier gut anrufen mit Delorean Copy. Es sieht so aus, als ob Delorean Copy einige gute Funktionen hat. Außerdem ist diese Website gut für NTFS-Linkinformationen. Ich sollte mehr darüber lesen. Ich bin überrascht über das 1023-Link-Limit bei Delorean Copy, aber wahrscheinlich kein Problem für die meisten. Dupemerge verlinkt bei 1022 Links auf eine andere Datei. Ich denke, wie die Delorian-Kopie funktioniert, wäre das Verknüpfen mit einer Nicht-Quelldatei nicht wünschenswert? Ich werde mehr darüber lesen müssen. Toller Vorschlag.
Scott McClenning
2
Das 1023-Verbindungslimit ist eine NTFS-Einschränkung. Das Verbindungszählerattribut des Verzeichniseintrags beträgt nur 10 Bit.
afrazier
Tolle Zusammenfassung der Optionen. Leider entspricht Ihre Empfehlung nicht der Aufforderung des ursprünglichen Posters, nur geänderte Dateien bei jeder nachfolgenden Sicherung zu kopieren. Klingt wie ln.exeist eine bessere Wette.
Simon East
Es gibt auch die Link Shell Extension von denselben Herstellern ln.exe, die eine einfache Möglichkeit bietet, solche Backups mit der Maus im Windows Explorer zu erstellen. Außerdem werden während des Sicherungsvorgangs Verzeichnisse mit Zeitstempeln erstellt.
Simon East
1

BackupAssist lässt Sie genau das, was Sie benötigen. Die Verwendung von Hardlinks wird als "Single Instance Store" bezeichnet, aber es handelt sich tatsächlich um Hardlinks unter der Haube. Es kann unter anderem zum Sichern auf USB-Sticks verwendet werden, wie Sie es gewünscht haben, oder mithilfe von rsync an Remotestandorte.

Zlika
quelle
1

Wir haben unser eigenes Tool für diese Art von Arbeit geschrieben. Es heißt ntfs-hardlink-backup: https://github.com/International-Nepal-Fellowship/Windows-Tools/tree/master/ntfs-hardlink-backup

Für die Erstellung der Hardlinks wird das In-Tool von Hermann Schinagl verwendet: http://schinagl.priv.at/nt/ln/ln.html

Sie könnten also auch ln direkt verwenden. Es ist ziemlich mächtig

INDIVIDUAL-IT
quelle
Bitte zitieren Sie die wesentlichen Teile der Antwort aus dem / den Verweis (en), da die Antwort ungültig werden kann, wenn sich die verlinkte (n) Seite (n) ändern.
DavidPostill
-3

Es gibt in erster Linie einen Fehler in Ihrer Logik.

Wenn Sie feste Verknüpfungen erstellen, wie kann dies als Sicherung bezeichnet werden? Sobald Ihre Datei gelöscht / beschädigt wurde, geht auch Ihre sogenannte Sicherung in diese Richtung. Alle von Ihnen angegebenen Anforderungen werden in der Regel von der heutigen Sicherungssoftware abgedeckt.

PS: NTFS unterstützt keine festen Verbindungen AFAK.

anilmwr
quelle
3
Entschuldigung, meine Beschreibung war nicht klar genug: Ich erstelle eine vollständige Kopie mit Robocopy auf einem externen USB-Laufwerk. Für den nächsten Tag erstelle ich eine Hardlink-Kopie und ersetze dann alle Dateien, die sich seit gestern geändert haben. Jetzt habe ich zwei vollständige Kopien auf meinem USB-Laufwerk, aber zu den Platzkosten von einem vollständigen + einem Differential.
Sam
4
Natürlich unterstützt NTFS auch harte Links.
Sam
1
Die von Ihnen beschriebene Technik ist genau das, was rsnapshot(anscheinend inaktiv) in Unixoid OS implementiert ist. Es ist definitiv möglich und funktioniert sehr gut. Leider rsnapshotläuft Ihr nicht unter Windows (deshalb schreibe ich das nur als Kommentar). In den häufig gestellten Fragen wird jedoch etwas zur Remote-Synchronisierung von Windows-Clients erwähnt. Wenn Sie Unixoid-Maschinen in der Nähe haben, funktioniert dies möglicherweise für Sie. Ich kenne keine Windows-Entsprechungen von rsnapshot.
Daniel Böhmer
Ich sehe keinen Gewinn, wenn ich feste Links zu unveränderten Dateien erstelle. Backup-Software nimmt Backups basierend auf Archiv-Bit an / aus. Sie sollten nur die Dateien kopieren, die seit der letzten Sicherung geändert wurden. Außerdem hatte ich den Eindruck, dass NUR Unix-Dateisysteme harte Links unterstützen. Danke, dass ich darauf aufmerksam gemacht habe!
anilmwr
@Halo Dachte es sollte schon an vielen Stellen eingesetzt werden. Schade, dass ich keine Unix-Computer in der Nähe habe, also muss ich auf jemanden warten, der sich mit Windows auskennt. Danke für die Warnung!
Sam