Ich habe mir ein kleines Programm zum Synchronisieren von Notebook, 2 Desktop-PCs und Handy geschrieben. Es ist ähnlich wie rsync, aber bidirektional. Nachdem ich nicht viel Zeit in dieses Tool stecken wollte sind die Algorithmen ziemlich primitiv.
Im Endeffekt läuft es darauf hinaus, dass der Verzeichnisbaum zweier Geräte gleichzeitig rekursiv durchsucht wird, und dort, wo das Änderungsdatum der Dateien voneinander abweicht (bzw. die Datei oder das Verzeichnis auf einem Gerät fehlt), wird synchronisiert.
Das ganze ist zwar relativ langsam weil ja das Netzwerk dazwischen ist, aber es funktioniert. Jetzt ist mir nur aufgefallen, dass das (in Java geschriebene) Tool unter Linux deutlich schneller läuft als unter Windows. Die Datenpartition ist NTFS-formatiert. Die Dateien des zweiten Rechners werden unter Linux durch einen samba-Server freigegeben, unter Windows durch die integrierte Datei- und Druckerfreigabe. Hat jemand eine Idee woran der Geschwindigkeitsunterschied liegen kann? Wenn ich es wüsste, dann könnte ich es vielleicht unter Windows auch schneller machen.