Ist es sicher, rsync
zu verwenden? wenn das Quelldateisystem gemountet und beschreibbar ist, vorausgesetzt, dass es sehr wohl geändert werden kann, während rsync läuft? Ich nehme an, dass ich unter Rennbedingungen möglicherweise nicht die neuesten Modifikationen bekomme, aber besteht die Gefahr einer Beschädigung?
Akzeptierte Antwort:
Verwenden von rsync
ist auf Read-Write-Mounted-Dateisystemen ziemlich sicher. Wenn rsync
gestartet wird, baut es eine Dateiliste auf und beginnt dann, diese Dateien zu kopieren. Diese Dateiliste wird während des Laufs nicht aktualisiert. Die eigentlichen Daten werden dann kopiert.
Das heißt, wenn sich eine Datei nach ändert rsync
die Dateiliste aufgebaut hat, kopiert sie die neue Inhalt. Allerdings, wenn eine neue Datei hinzugefügt wird nach rsync
seine Dateiliste aufgebaut hat, wird diese neue Datei nicht kopiert. Wenn eine Datei gelöscht wird nach rsync
die Liste der Dateien erstellt hat, wird rsync warnen, dass es diese Datei nicht kopieren konnte. Denken Sie daran, dass rsync
ist kein Schnappschuss, das heißt, es ist schwer zu sagen, zu welchem Zeitpunkt rsync
die Daten kopiert.
Dateisystem- oder Volume-Manager-Snapshots (z. B. mit ZFS oder LVM) hingegen werden sofort erstellt und sind ein konsistenter Snapshot des Dateisystems zu einem genau definierten Zeitpunkt, der dann auf einen anderen Host kopiert werden kann. rsync
bietet diese Art von Konsistenz nicht.
BEARBEITEN: Wie andere in den Kommentaren darauf hingewiesen haben, besteht die Möglichkeit, dass rsync
könnte Ihre Datei tatsächlich beschädigen. Wenn rsync beginnt, eine Datei zu lesen und eine Anwendung gleichzeitig diese Datei schreibt, erhalten Sie möglicherweise eine beschädigte Datei.