Differenzielle Kopierlösung für Windows

Ich muss eine tägliche Sicherung einer Reihe großer Dateien (jeweils >3 GB) durchführen, die jeden Tag einen Unterschied von vielleicht 20 ΜΒ aufweisen , hauptsächlich überschriebene Teile.

Das Problem ist sowohl die Zeit, die für die Durchführung der täglichen Sicherung benötigt wird, als auch die Bandbreitennutzung:

Unser Festnetz-Internet ist schlecht und geht zeitweise aus, ein LTE-Backup springt an, aber es gibt ein monatliches Kontingent , das mit ein oder zwei Backups leicht aufgefressen wird, wodurch wir während der Arbeitszeit stark gedrosselt werden, wenn das Festnetz wieder ausfällt.

Ich brauche eine Lösung, die in den CLI/Batch- Dateien ausgeführt werden kann und unter Windows eine differenzielle Sicherung erstellt, ohne dass Cygwin erforderlich ist. Wenn ich die Cygwin-Beschränkung nicht hätte, wäre rsync ein erstklassiger Kandidat.

Sie sollten sich auch Robocopy ansehen
Hallo Dave, Robocopy ist unsere aktuelle Lösung, macht aber keine differenziellen Kopien. Sicher, die MIR-Option kopiert alles, was sich geändert hat usw., aber wenn in einer 3-GB-Datei 1 Byte geändert wurde, werden immer noch alle 3 GB kopiert.

Antworten (2)

Ich verwende xcopy (eingebauter Windows-Befehl) mit den folgenden Optionen, um etwas Ähnliches zu erreichen:

xcopy /H /D /E /Y <source> <destination>

/H - Copy system and hidden files.
/D - Only copy files that are newer on the source than the destination.
/E - Copy all directories and subdirectories even if empty.
/Y - Suppress overwrite confirmations.

Es hat auch viele andere Optionen, die einen Blick wert sind.

Dadurch werden immer noch nur ganze Dateien kopiert, nicht nur Teile, sondern nur die, die geändert wurden. Es gibt Windows-Versionen von rysnc (einige sogar mit GUIs), die Cygwin nicht benötigen, aber ich habe keine Erfahrung mit ihnen.

Danke für die Eingabe. Das Problem ist, dass sich alle Dateien, 9 davon, jeden Tag ändern, indem kleine Bits hinzugefügt oder bearbeitet werden. Das sind also etwa 30 GB Daten pro Tag, die ich reduzieren möchte. Ich wäre wirklich an einer CLI-Version von rsync für Windows interessiert, für die Cygwin nicht erforderlich ist. Erinnerst du dich zufällig an einen Namen?
@kntouskos DeltaCopy ist eine, aber ich bin mir nicht sicher, ob sie eine CLI hat. Gefunden haben Sie dies einfach durch die Suche nach „Windows rsync CLI“ – acrosync.com

Ich hatte ein ähnliches Problem, aber ich musste 50-GB-Dateien inkrementell sichern, also denke ich, dass Sie dies verwenden könnten.

1. Snapshot erstellen, um die Konsistenz zu wahren

Dies ist völlig optional und hängt von Ihrer Situation ab. Wenn die Dateien, die Sie sichern möchten, in Gebrauch sind, möchten Sie einen zeitpunktbezogenen Schnappschuss von ihnen erstellen und eine Sicherung für den Schnappschuss ausführen. Andernfalls können sich die Dateien während der Sicherung ändern.

Ich habe hier bereits einige leicht verständliche Anleitungen .

2. Sichern

Ich habe hier drei Möglichkeiten für dich:

  • Unison : hauptsächlich ein Synchronisationstool, aber auch eine solide Alternative für rsync unter Windows (und anderen Hauptplattformen). Es implementiert das rsync-Protokoll intern und hat keine Abhängigkeiten.
  • zpaq : Offline-Inkrementalarchivierer, Deduplizierer. Es erzeugt kleine Diffs, die Sie manuell übertragen können/müssen. Effektiv und endet in konstanter Zeit.
  • Restic : moderne Alternative zu zpaq . Fügt Verschlüsselung hinzu. Nicht so platzsparend wie zpaq , aber doppelt so schnell.
  • xdelta3 : binäres Diff-Tool. Sehr effektiv, erstellt Diffs so groß wie die tatsächlich geänderten Daten. Normalerweise dauert es ungefähr so ​​lange wie zpaq , aber gelegentlich explodiert seine Laufzeit auf das 3-5-fache davon.