Datei Synchronisation

Für sonstige Unterhaltungen, welche nicht direkt mit Lazarus zu tun haben
Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: Datei Synchronisation

Beitrag von Bauer321 »

kann ich den unter Linux einen Symbolischen Link auf mein NAS machen (also auf einen Netzwerkpfad)?
Dann würde ich mir das Beagle Board anschaffen, darauf owncloud installieren und so konfigurieren das die Dateien auf dem NAS gespeichert werden. Mit 1GHz und 512MB Ram dürfte ja ausreichend Leistung vorhanden sein.
www.mcpatcher.net | www.hoeper.me

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Datei Synchronisation

Beitrag von mschnell »

Christian hat geschrieben:Sowas ist sogar über TFilestream mit Createmode verfügbar, natürlich ist das möglich.


Wenn Du selber ein Programm schreibst ist natürlich alles möglich.

Ich sagte "Datei-übergreifend".

Ein externes Synchronisationssystem muss daran gehindert werden eine upgedatete Datei auf den anderen Rechner zu transportieren, wenn diese nicht zu einer andren passt, die die Software noch nicht upgedatet hat.

Ein typisches Problem, das bei Datenbanken mit "Transaktionen" gemanaged wird.

Die User Software muss also die Transaktionen definieren (z.B., über Datei-Sperren und/oder Steuerdateien) und die Synchronisations-Software muss sie berücksichtigen.

Finde ich alles andere als trivial.
-Michael
Zuletzt geändert von mschnell am Do 8. Aug 2013, 12:40, insgesamt 2-mal geändert.

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Datei Synchronisation

Beitrag von mschnell »

Bauer321 hat geschrieben:kann ich den unter Linux einen Symbolischen Link auf mein NAS machen (also auf einen Netzwerkpfad)?

Klar. ein Symlink kann eine beliebige Zieldatei (oder Ziel-Directory) unterhalb des Filesystem-Roots "\" ansprechen, also auch unterhalb eines Mountpoints.

Ich glaube allerdings nicht das das alle Probleme löst.

-Michael

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Datei Synchronisation

Beitrag von Christian »

rsync ist ein seit jahrzehnten abgehangenes werkzeug, das schaut schon zu das locking mechanismen genutzt werden.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: Datei Synchronisation

Beitrag von Bauer321 »

mschnell hat geschrieben:
Bauer321 hat geschrieben:kann ich den unter Linux einen Symbolischen Link auf mein NAS machen (also auf einen Netzwerkpfad)?

Klar. ein Symlink kann eine beliebige Zieldatei (oder Ziel-Directory) unterhalb des Filesystem-Roots "\" ansprechen, also auch unterhalb eines Mountpoints.

Ich glaube allerdings nicht das das alle Probleme löst.

-Michael

was meinst du mit "alle Probleme"?
www.mcpatcher.net | www.hoeper.me

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Datei Synchronisation

Beitrag von mschnell »

Bauer321 hat geschrieben:was meinst du mit "alle Probleme"?


Dass beim Synchronisieren Inkonsitenzen erzeugt werden, z.B. wenn eine Datei upgedatet ist und eine anderem, die mit ihr im Zusammenhang steht noch nicht upgedatet ist, Oder wenn ein Update-Vorgang eine Datei updaten will, die im Quell- oder im Ziel-System in Benutzung ist.

Da helfen nur selbst Applikations-abhängig implementierte Mechanismen (ähnlich wie Transaktionen bei einer Datenbank).

-Michael

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Datei Synchronisation

Beitrag von mschnell »

Christian hat geschrieben: ... das schaut schon zu das locking mechanismen genutzt werden.

Es kann nichts von gegenseitigen Abhängigkeiten zwischen den Dateien wissen. Außerdem kann es nur entscheiden eine gelockte Datei eben nicht zu kopieren. Auch das kann üble Folgen haben.

-Michael

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Datei Synchronisation

Beitrag von Christian »

Ich halte deine Argumente für sehr konstruiert.
Wenn alle Dateien in der Sync eingeschlossen sind ist das auch konsistent.
Wenn eine Anwendung wärend der Sync gerade eine Datei offen hat hast du einen inkonsistenenten Zusatnd, ja aber neim nächsten Syncen nicht mehr.
Das hier um einen Bneutzer geht und nicht um 300 sollten inkonsistenzen dabei aber seeehr selten sein.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Datei Synchronisation

Beitrag von mschnell »

Christian hat geschrieben:Ich halte deine Argumente für sehr konstruiert.


Er will die Synchronisation ständig unbeobachtet im Hintergrund laufen lassen, also auch wenn die Anwendungen auf einem oder beiden Systemen laufen. Da ist es höchst wahrscheinlich, dass da Dateien zur Unzeit transportiert werden und beliebiger Mist passiert. (Hast Du schonmal was von Murphy gehört ? ) )

Das lässt sich (ohne die Interna der Anwendungen zu kennen) nur ausschließen, wenn die Synchronisation nur gestartet wird, läuft, wenn nirgendwo eine Anwendung läuft und wenn eine Anwendung nur gestartet wird, wenn die Synchronisation nicht läuft. (Also "Datei-Übergreifendes Locking")

-Michael

Antworten