Berechnen der Größe von Hardlinks in Windows

Berechnen der Größe von Hardlinks in Windows

Ich war viele Jahre lang ein begeisterter Linux-Benutzer, bin dann aber auf Windows umgestiegen. Eine Sache, die ich immer vermisst habe, istVerwenden von rsync zum Erstellen inkrementeller Snapshotszu Sicherungszwecken. Sie verwenden einen Befehl wie diesen:

rsync -aP --link-dest=PATHTO/$PREVIOUSBACKUP $SOURCE $CURRENTBACKUP

und es wird eine vollständige Verzeichnisstruktur des aktuellen Zustands des Ordners erstellt, den Sie sichern, wobei Hardlinks verwendet werden, um auf die vorherige Sicherung zu verweisen. Nur neue oder geänderte Dateien werden tatsächlich auf die Festplatte geschrieben; alle anderen werden als Hardlinks gespeichert. Das ist einfach großartig, und keine der Lösungen, die ich in Windows gefunden habe, konnte das. (Zur Referenz: Ich habe den Windows-Dateiversionsverlauf ausprobiert und Geld für kommerzielle Software ausgegeben, darunter Crashplan und das ansonsten brillanteUnvergleichlich.)

Nachdem Microsoft nun WSL eingeführt hat, habe ich versucht, dies in Bash für Windows zu tun. Es scheint perfekt funktioniert zu haben, aber Windows meldet die Größe der Festplatte falsch, wie hier gezeigt:

Größe der Festplatte falsch angegeben

Zur Erklärung: In einem Schnappschuss snapshot-170831__07h08m48shabe ich eine große Videodatei (1,40 GB) hinzugefügt, deren Kopiervorgang mehrere Sekunden dauerte. Im nächsten Schnappschuss snapshot-170831__07h09m09sdauerte das Kopieren der Datei keine Zeit, was darauf schließen lässt, dass der Hardlink korrekt erstellt wurde und kein Speicherplatz auf meiner Festplatte belegt wurde.

Alle meine Windows-Tools (Windows Explorer, Directory Opus, WinDirStat) melden jedoch, dass der zweite Snapshot-Ordner 1,40 GB auf der Festplatte einnimmt.

Die erste Frage ist dannwarum meldet Windows die Festplattengröße für diese Hardlinks falsch?

Aber die wichtigere Frage istsollte ich das tun: Ich verwende Linux-Tools unter Windows für meine regelmäßigen Dateisicherungen. Ich habe bereits bei WSL gesehen, dass das Ändern von Dateien wie .bashrc mit Windows-Tools die Datei in WSL unlesbar macht. Ich frage mich, ob es zu riskant ist, meine Sicherungen einem solchen Tool anzuvertrauen, oder ob ich riskiere, das Dateisystem zu beschädigen und wichtige Dateien zu verlieren.

Antwort1

Berechnen der Größe von Hardlinks in Windows

Es ist schwierig, die Größe von fest verknüpften Dateien in Windows zu berechnen. Ein Tool, mit dem Sie dies tun können, istTreeSize Professional(nicht kostenlos, die Analyse von Hardlinks ist standardmäßig deaktiviert). Ich habe dieses Tool verwendet und es hat die Größe der Hardlinks korrekt geschätzt.

Eine ausführlichere Diskussion finden Sie unterWie kann ich die tatsächlich verwendete Größe in einem NTFS-Verzeichnis mit vielen Hardlinks überprüfen?

Funktionieren die Dateien tatsächlich?

Was den anderen Teil der Frage betrifft: Ist es riskant, Dateien mit Linux-Tools unter Windows auf WSL zu sichern? Ich beschloss, dies zu testen, indem ich einfach eines der Snapshot-Verzeichnisse auf eine separate externe Festplatte kopierte. Es gab keine Probleme beim Kopieren oder Lesen der Dateien von der externen Festplatte. Mit anderen Worten:die Hardlinks verhalten sich genau wie erwartet, und die Dateien funktionieren.

Langfristige Datenstabilität

Kommen wir also zum letzten Punkt: Könnte die Verwendung von Linux-Tools unter WSL als Teil meiner regelmäßigen Backups etwas beschädigen, beispielsweise das Dateisystem? Vertraue ich darauf, dass WSL keine schwerwiegenden Probleme verursacht? Alles kann jederzeit kaputtgehen, daher werde ich sicherstellen, dass diese Snapshot-Verzeichnisse regelmäßig auf ein separates Laufwerk kopiert werden.

verwandte Informationen