🏠 Self-hosted

Synchronizacja plików między urządzeniami

Zmiana na pulpicie, sync na telefonie. Jak to naprawdę działa.

4 min czytania
Synchronizacja plików między urządzeniami

Każda firma, z jaką pracowałem, ma ten sam plik. Nazywa się mniej więcej oferta_ostateczna_v3_FINAL_poprawiona.xlsx, jest ich cztery, w trzech folderach, na dwóch komputerach, i nikt nie jest do końca pewien, który poszedł do klienta.

Ten plik nie jest problemem dyscypliny. To jest to, co się dzieje, kiedy ludzie kopiują pliki ręcznie, bo ręczne kopiowanie nie ma jak wiedzieć, która wersja jest nowsza, ani jak połączyć pracę dwóch osób. Naprawą nie jest konwencja nazewnicza, którą wszyscy obiecują stosować. Naprawą jest wyjęcie ręcznej kopii z procesu w całości.

Co naprawdę robi synchronizacja

Narzędzie do synchronizacji obserwuje folder na każdym urządzeniu i utrzymuje je identycznymi. Zmienisz plik na pulpicie — pojawia się zmieniony na laptopie i telefonie w kilka sekund. Skasujesz coś w jednym miejscu — znika wszędzie. Dodasz nowe urządzenie — dostaje wszystko.

To drugie zdanie warto przeczytać dwa razy i jeszcze do niego wrócę, bo jest źródłem każdej katastrofy w tym obszarze.

Pod spodem mechanizm jest w zarysie prosty. Każde urządzenie prowadzi zapis tego, co widziało — plik, rozmiar, czas modyfikacji i odcisk zawartości. Kiedy coś się zmienia, informuje pozostałe, co się zmieniło, i przez sieć leci wyłącznie różnica. Dlatego synchronizacja dużego pliku po małej edycji jest szybka i dlatego folder synchronizowany to nie to samo co kopiowanie katalogu w kółko.

Dwa sposoby zbudowania tego i co się zmienia

Pierwszy układ stawia pośrodku serwer. Każde urządzenie rozmawia z jedną maszyną, która trzyma kopię rozstrzygającą — dokładnie to robi serwer plików z klientem na pulpicie. Zaletą jest to, że zawsze istnieje jedno miejsce, gdzie jest wszystko, co czyni backupy oczywistymi, a dzielenie się z ludźmi spoza domu prostym.

Drugi nie ma środka w ogóle. Urządzenia znajdują się nawzajem i wymieniają zmiany bezpośrednio — laptop i telefon synchronizują się, będąc w tej samej sieci, albo przez internet szyfrowanym połączeniem, bez serwera trzymającego kopię. To jest znakomite, kiedy pasuje: nic do utrzymywania, nic do opłacania, a Twoje pliki nigdy nie spoczywają na maszynie, z której nie korzystasz.

Kompromis polega na tym, że bez centralnej kopii plik istnieje tylko tam, gdzie ma go jakieś urządzenie. Jeśli dwa urządzenia rzadko są włączone jednocześnie, rozjeżdżają się. I nie ma oczywistej pojedynczej rzeczy do zbackupowania, co w praktyce oznacza, że ludzie tego nie robią.

Prowadzę pierwszy w pracy i drugi dla paru prywatnych folderów, a pytaniem rozstrzygającym jest zawsze to, czy musi istnieć kopia rozstrzygająca, obecna niezależnie od tego, które urządzenia są włączone. Dla firmy: tak, zawsze. Dla folderu z notatkami żyjącego na dwóch maszynach, których używam codziennie: nie.

Zdanie, które gubi ludzi

Oto najważniejsza rzecz w tym tekście i zarazem ta, której prawie nikt nie rozumie, dopóki go nie zaboli.

Synchronizacja to nie backup. To niemal przeciwieństwa.

Backup zachowuje stan przeszły, żebyś mógł do niego wrócić. Synchronizacja rozpropagowuje stan obecny, żeby każde urządzenie się zgadzało. Co znaczy, że kiedy skasujesz folder przez pomyłkę, kiedy złośliwe oprogramowanie zaszyfruje Twoje dokumenty albo kiedy plik zostanie uszkodzony przez padający dysk — synchronizacja wykona swoją pracę bez zarzutu i wiernie roześle to na każde Twoje urządzenie, w kilka sekund, łącznie z tym, na które liczyłeś jako na siatkę bezpieczeństwa.

Widziałem, jak to się komuś przydarzyło. Nie osobie technicznej, nie nieostrożnej — miała pliki na trzech maszynach i rozsądnie uznała, że są bezpieczne. Skasowanie zajęło jedno kliknięcie i dotarło do wszystkich trzech, zanim ktokolwiek zauważył. Sytuację uratowała funkcja wersjonowania na serwerze, czyli dokładnie to, o włączenie czego zaraz poproszę.

Każdy poważny system synchronizacji trzyma stare wersje i kosz, a obie rzeczy są konfigurowalne. Włącz je, ustaw okres przechowywania, z którym da się żyć, i — ten krok pomija każdy — sprawdź, że naprawdę potrafisz odtworzyć coś sprzed trzech tygodni. Zrobienie tego raz, świadomie, w spokojne popołudnie, jest warte więcej niż dowolna ilość pewności siebie.

Co zrobić z tymi czterema arkuszami

Jeden wspólny folder, synchronizowany na każdą maszynę, z włączonym wersjonowaniem i backupem idącym z serwera gdzie indziej. Ten układ usuwa warunki produkujące duplikaty: jest jedna lokalizacja, jest taka sama na każdym urządzeniu i nikt nie musi wysyłać sobie niczego mailem, żeby przenieść to między komputerami.

Nie rozwiązuje przypadku dwóch osób edytujących ten sam arkusz jednocześnie — do tego potrzebny jest edytor współbieżny, czyli inne narzędzie do innego problemu, a udawanie inaczej sprawia, że ludzie kończą z plikiem oferta_ostateczna_v3_konflikt_laptop.xlsx, który jest naprawdę gorszy niż punkt wyjścia.

Ale w zwykłym przypadku — pliki, które jedna osoba edytuje naraz, na tej maszynie, przy której akurat siedzi — usuwa całą kategorię codziennego tarcia, którego ludzie przestali zauważać, bo żyją z nim od lat. To jest cicha wartość tej akurat rzeczy. Nikt jej potem nie chwali. Po prostu przestają prowadzić rozmowę o tym, która wersja jest aktualna.

Wolisz nie budować tego samemu?

Dostarczamy NAS-y i Delle z całym tym stackiem preinstalowanym — Nextcloud, Immich, Jellyfin, Stirling PDF, n8n i Home Assistant, skonfigurowane przed wysyłką. Podłączasz prąd i sieć. AI i automatyzację możesz wyklikać online już teraz.