Würde rsync bei komprimierten/verschlüsselten Dateien eine nennenswerte Datenübertragungsmenge einsparen?

Würde rsync bei komprimierten/verschlüsselten Dateien eine nennenswerte Datenübertragungsmenge einsparen?

Würde rsync eine bedeutende Menge an Datentransfer für die Synchronisierung einsparen?

1) ZIP-Dateien,

2) ASCII-geschützte GPG-verschlüsselte Dateien und

3) Mathematica .mx-Dateien,

jeweils ?

Ein typisches Szenario ist, dass ich bereits eine alte Kopie habe und die komprimierte und/oder verschlüsselte Datei NICHT die einzige zu synchronisierende Datei ist, d. h. es können unkomprimierte und unverschlüsselte Dateien vorhanden sein.

Antwort1

Das Problem bei verschlüsselten oder komprimierten Dateien besteht darin, dass selbst wenn nur ein Byte in den Daten geändert wird, der gesamte restliche Dateiinhalt unterschiedlich ist und nicht nur das geänderte Datenbyte.

Dies macht eine von rsync verwendete Strategie zur Reduzierung der Datenübertragung zunichte – nämlich nur die geänderten Abschnitte einer Datei und nicht die ganze Datei zu übertragen.

Komprimieren Sie Daten daher nur, wenn Sie Speicherplatz auf der Festplatte benötigen (in diesem Fall verwenden Sie die festplattenbasierte Komprimierung, da diese für Anwendungen wie rsync transparent ist).

Verschlüsseln Sie keine Daten, es sei denn, Sie müssen die Vertraulichkeit der Daten schützen, falls der Computer (oder die Festplatte) gestohlen wird oder verloren geht. (Bewahren Sie Sicherungskopien Ihrer Daten und insbesondere Ihrer Verschlüsselungs- oder Wiederherstellungsschlüssel auf.) Auch hier ist die Verschlüsselung der gesamten Festplatte wahrscheinlich am wenigsten schädlich für die Leistung von rsync (führt jedoch am wahrscheinlichsten zu einem katastrophalen Datenverlust, wenn eine Festplatte ausfällt und keine Datensicherungen verfügbar sind oder wenn Sie das Betriebssystem neu installieren, ohne einen Wiederherstellungsschlüssel für andere Datenfestplatten/Partitionen zu sichern).

Das Obige setzt voraus, dass (eine erhebliche Anzahl) der relevanten unkomprimierten/unverschlüsselten Dateien wahrscheinlich von Zeit zu Zeit teilweise Änderungen erfahren – durch Bearbeiten oder Anhängen irgendeiner Art –, während der Großteil der Daten in der Datei unverändert bleibt.

Antwort2

Falls Sie nur eine Datei per rsync synchronisieren und diese Datei verschlüsselt oder komprimiert ist, besteht die einzige Bandbreiteneinsparung wahrscheinlich darin, dass Sie die Datei überhaupt nicht übertragen müssen, wenn sie unverändert bleibt.

Wenn Sie jedoch ein Verzeichnis voller ZIP-, JPEG- oder GPG-Dateien haben, überträgt rsync trotzdem nur die Dateien, die sich geändert haben, und ist eine großartige Möglichkeit, einfach nur neue Dateien zu übertragen.

Hinweis: Ich finde es sinnvoll, die unkomprimierten Daten, wann immer möglich, per Rsync zu synchronisieren und sie dann bei Bedarf für die Speicherung auf beiden Seiten der Verbindung zu komprimieren. Auf diese Weise können Sie Übertragungsbandbreite sparen. Beispiel:

mkdir /tmp/torsync
cd /tmp/torsync
unzip /home/me/somefile.zip
rsync -avz . remote:/tmp/somefile
ssh remote 'zip -r somefile.zip /tmp/somefile'

Ihre Ergebnisse können natürlich abweichen.

OT: Mit seinen Sicherungsoptionen finde ich rsync nützlich, auch wenn es keine Bandbreite spart, da es Sicherungskopien der ersetzten Dateien erstellt, sodass ich frühere Kopien problemlos abrufen kann.

Folgefrage: Dies gilt für alle Formate, bei denen Komprimierung oder Verschlüsselung im Spiel ist, aber ich kenne mich mit Mathematica-Benutzern nicht aus.

verwandte Informationen