GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Ist die Verwendung von Rsync während der Aktualisierung der Quelle sicher?

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.


Linux
  1. Ist die Verwendung von Tar während der Aktualisierung des Quellverzeichnisses sicher?

  2. Verwenden von rsync zum Synchronisieren von Dateien

  3. Wie man Verzeichnisse rekursiv mit rsync kopiert und dabei bestimmte Dateien ausschließt

  4. Verwenden von nc zum Übertragen großer Dateien

  5. Ist es sicher, eine Datei zu öffnen, die von einem laufenden Skript geschrieben wird?

Verwenden der SSH-Konfigurationsdatei

Bash-Quellbefehl

Gewusst wie:Eine Einführung in die Verwendung von Git

Übertragen Sie Dateien mit WinSCP

Verhalten von rsync mit Datei, die noch geschrieben wird?

Fortsetzen der Übertragung einer einzelnen Datei durch rsync