Oto lista rzeczy, które potencjalnie mogą rozwiązać ten problem, każda z nich równoważy kompromisy, które musisz wykonać inaczej, więc będziesz musiał dokonać własnych wyborów i wypróbować rzeczy na własną rękę:
Unison - jak wspominają inni, jest uruchamiany ręcznie, ale jest bardzo szybki, niezawodny i skuteczny. Wymaga synchronizacji obu komputerów jednocześnie. Ma ładny interfejs użytkownika, który pozwala radzić sobie z prawie nieuniknionymi konfliktami, a także poprawnie śledzi i propaguje usuwanie. Aplikacja / pakiet graficzny nazywa się unison-gtk.
OwnCloud - Magazyn w chmurze działa na twoim serwerze. Potrzebujesz maszyny, żeby wyjść. Wymaga rozsądnej konfiguracji. Działa na serwerze pełny serwer Apache 2 i baza danych SqlLite lub MySQL. Działa podobnie jak Dropbox z klientem stacjonarnym, ale serwer jest pod twoją kontrolą. edycja: OwnCloud przeszedł niedawno pewne zmiany w sposobie prowadzenia projektu, a teraz ma nowe całkowicie otwarte źródło (tj. brak zamkniętej edycji „Enterprise”) pod pozorem NextCloud (patrz wywiad z youtube z oryginalnym deweloperem OwnCloud po więcej szczegółów).
SparkleShare - używa git do synchronizacji plików. Według strony głównej: dobre dla wielu mniejszych plików, nie dobre dla wielu dużych plików, takich jak muzyka lub kolekcja zdjęć.
Seafile - zapewnia komponent serwera, który można zainstalować na komputerze lokalnym. Seafile używa modelu danych podobnego do git do śledzenia zmian. Zapewnia klientom synchronizacji na komputery stacjonarne, tablety i smartfony. Wpis na blogu opisujący konfigurację można znaleźć na stronie http://openswitch.org/blog/2013/07/18/installing-and-configuring-seafile-on-ubuntu-12-dot-04/
Osync - „... dwukierunkowe narzędzie do synchronizacji plików napisane w języku bash i oparte na rsync. Działa w lokalnych i / lub zdalnych katalogach za pośrednictwem tuneli ssh. Jego głównym celem jest uruchomienie jako zadanie cron” (tekst ze strony internetowej)
PowerFolder - projekt GPL v2 oparty na Javie. Główna strona internetowa oferuje oferty komercyjne, więc nie jest jasne, jak korzystać z dostarczonego pliku .jar.
Rsync - szybki i skuteczny, działający od dziesięcioleci, jednak nie zachowuje historii, więc musisz wybrać kierunek, aby zdecydować, czy plik jest nowy, czy usunięty. Dostępne są narzędzia graficzne, takie jak gwRsync .
Lsyncd - monitoruje foldery / pliki w celu wyzwolenia replikacji rsync
dvcs-autosync - napisany w Pythonie, używa git do przechowywania i udostępniania zmian między komputerami, a XMPP do komunikowania zmian.
git-annex - narzędzie wiersza poleceń do przetaczania plików, oparte na git. Oto przykładowy przewodnik: http://git-annex.branchable.com/walkthrough/
Tonido - darmowy. Udostępnia aplikację komputerową, która będzie udostępniać pliki innym urządzeniom. Zapewnij również komercyjne oferty chmurowe oraz komputer z wtyczką TonidoPlug.
BitTorrent Sync (darmowy) - synchronizacja plików peer-to-peer oparta na BitTorrent. Nie wiem zbyt wiele na ten temat, ponieważ nie będę go używać, ponieważ nie jest open source i nie ufam, że moje dane będą przechowywane w mojej sieci LAN, możesz edytować tę odpowiedź z lepszymi informacjami / prawdziwymi doświadczeniami.
SyncThing - opracowany jako otwarta alternatywa dla BitTorrent Sync. Obecnie brakuje niektórych zaawansowanych funkcji BitTorrent Sync, takich jak niezaufani peer. Jest w trakcie aktywnego rozwoju.
Komercyjne usługi hostowane, takie jak Dropbox, Ubuntu One, dysk Google, Apple iCloud są szybkie i tanie, ale wszystkie wymagają zaufania do firmy z wszystkimi Twoimi danymi i potrzebują dość szybkiego połączenia z Internetem.
Git / subversion - użyj bezpośrednio systemu kontroli źródła. Całkowicie ręczny i może być nieco złożonym, ale popularnym podejściem dla niektórych użytkowników zaznajomionych z tymi systemami z wykorzystaniem ich jako narzędzi programistycznych.
CloudFS - synchronizacja całego systemu plików w oparciu o technologię klastrową
Montaż NFS - w zasadzie Twój dom mieszka na jednej maszynie i masz do niego dostęp przez sieć, nie jest to dobre dla laptopów, które zabierasz ze sobą. Więcej informacji: http://www.linuxjournal.com/article/4880
Serwer centralny - niektóre rozwiązania wymagają, aby komputer był cały czas włączony (lub przynajmniej w przypadku konieczności synchronizacji), aby inne maszyny mogły się z nim synchronizować. Może to być jedna z istniejących maszyn lub osobna maszyna, na przykład NAS. Uważaj na wyższe rachunki za prąd.
Automatyczny / ręczny / zaplanowany - najlepszym sposobem na uniknięcie konieczności rozwiązywania konfliktów, gdy coś jest zmieniane na więcej niż maszynie, jest posiadanie programu na każdym komputerze, który obserwuje zmiany i natychmiast synchronizuje, w ten sposób zmniejszasz możliwość uzyskania wielu wersje. W przypadku procesów ręcznych zawsze musisz pamiętać o uruchomieniu synchronizacji.
Zdalny dostęp - czy chcesz synchronizować z dala od sieci LAN (zwanej także domem), zastanów się nad konsekwencjami tego bezpieczeństwa.
Bezpieczeństwo - czy dane pozostawiają sieć zaszyfrowaną, czy nie, jak bezpieczny jest transfer między komputerami. Co się stanie, jeśli ktoś zarejestruje Twoje dane w ruchu, a później okaże się, że szyfrowanie ma wady? Kto kontroluje serwer, który przechowuje twoje dane, czy dane są szyfrowane, czy możesz zaufać stronom trzecim? Czy musisz dziurawić otwory w routerze, aby uzyskać zdalny dostęp? Jak długo trwają „usunięte” pliki i powiązane metadane na zsynchronizowanych urządzeniach i na centralnym serwerze. Czy synchronizujesz między pamięcią szyfrowaną a nieszyfrowaną?
Przenoszenie dużych folderów - w rozwiązaniach, które wypróbowałem, występuje problem polegający na tym, że po przeniesieniu / zmianie nazwy pliku lub folderu synchronizacja nie rozumie tego i przesyła je od nowa jako nowe, a następnie usuwa starą kopię. Proszę o pomoc, zaznaczając powyższe rozwiązania, które są w stanie sobie z tym poradzić (podejrzewam, że rozwiązania oparte na git robią, ponieważ git nie cierpi z tego powodu z powodu adresowania opartego na treści, którego używa, ale nie wiem na pewno, ponieważ nie mam pojęcia ich używałam).
Pojemność dysku
Kopie zapasowe - synchronizacja nie jest kopią zapasową. Usuń ważny plik przez pomyłkę, a wiele z powyższych wesoło usunie wszystkie pozostałe kopie. Polecam przeczytać artykuł Mata Honana o tym, jak zostałeś zhakowany, aby uzyskać dobry opis tego, co może się stać, jeśli włożysz wszystkie swoje cyfrowe jajka do jednego cyfrowego koszyka, że tak powiem.
Nie zalecamy synchronizację cały folder domowy, ale zamiast zbierając określone foldery do synchronizacji, takich jak Documents/
, Pictures/
itd. Pozwoli to na uniknięcie bólu zmuszany do czynienia z problematyką przestrzeni prędkość / wydajność / dysk automatycznego synchronizowania wszystko. Pozwala to również uniknąć konieczności utrzymywania list wykluczeń.
Gdy będę nadal starać się znaleźć coś, co będzie dla mnie osobiście, postaram się aktualizować tę odpowiedź z przydatnymi informacjami. Zebrałem informacje ze wszystkich pozostałych odpowiedzi w jedną pełną odpowiedź.