rsync - Dateien in Bearbeitung

M.Riggs

Ensign
Registriert
Dez. 2009
Beiträge
153
Hallo zusammen,

Ich hab eine Verständnis-Frage zu "rsync".

Ich will auf meiner Synology-NAS ein Script schreiben, das Dateien von Ordner A nach Ordner B kopiert/verschiebt.

Wie geht rsync mit Dateien um, die geöffnet/in Bearbeitung sind?
Werden diese "übergangen" un im nächsten Durchgang kopiert oder wird dann nur "ein Teil" der jeweiligen Datei kopiert?

Danke und Grüße
 
Using rsync is fairly safe on read-write mounted file systems. When rsync is started it builds up a file list and then starts to copy those files. This file list is not being updated during the run. The actual data is then copied.

This means when a file changes after rsync has built the file list, it will copy the new content. However, when a new file is added after rsync has built up its file list, this new file is not copied. If a file is deleted after rsync has built the list of files, rsync will warn that it could not copy that file. Keep in mind that rsync is not a snapshot, this means it's hard to tell at which point in time rsync copied the data.

File system or volume manager snapshots (e.g. using ZFS or LVM), on the other hand, are created instantly and are a consistent snapshot of the file system at a well defined point in time which can then be copied to another host. rsync does not offer this kind of consistency.

EDIT: As others have pointed out in the comments, there's a chance that rsync might actually corrupt your file. When rsync starts to read a file and an application is writing that file at the same time, you might end up with a corruped file.
Quelle: https://unix.stackexchange.com/questions/90245/is-using-rsync-while-source-is-being-updated-safe

Zu der unter "EDIT" hingewiesenen Chance für eine defekte Datei:
Ist eine Datei nur geöffnet, ist das kein Problem. Ob die genannte Konstellation wirklich ein Problem darstellen kann, hängt meiner Meinung nach von den genauen Einsatzbedingungen ab.

Beispiel von mir:
Auf meinem Ubuntu wird mittels rsync alle paar Minuten ein Ordner in einer Richtung auf mein NAS synchronisiert. Wird während dessen in eine der Dateien geschrieben, könnte dann auf dem NAS diese Datei korrupt sein. Mit dem nächsten Lauf einige Minuten später, wäre die Datei jedoch vollständig auf dem NAS. Ich hätte also nur dann ein Problem, wenn zwischen diesen beiden Läufen meine Platte kaputt geht.

Wenn es um Syncs mit größerem zeitlichen Abstand geht, dann könnte man prüfen, ob diese sich auf einen Zeitpunkt legen lassen, zu dem eine möglichst geringe Wahrscheinlichkeit besteht, dass jemand mit den Dateien arbeitet.
 
Nur geöffnet: Kein Problem.
Wird während rsync sie liest geschrieben: Kommt Müll an.

Edit: Nein, übergangen wird keine Datei.
 
Zurück
Oben