22

Synchronizacja plików – niekoniecznie z chmurą, porównanie rozwiązań, cz. 1

Utrzymanie porządku w plikach nie stanowi większego wyzwania, dopóki znajdują się w obrębie jednego komputera. W momencie, kiedy posiadamy więcej niż jeden komputer na którym pracujemy, powstaje problem. Wszystko jedno, czy jest to komputer domowy i firmowy, czy stacjonarny i laptop, dwa laptopy, czy dowolna kombinacja większej liczby komputerów. Jak dopilnować, żeby na każdym komputerze znajdował się zestaw najbardziej aktualnych plików? […]

Utrzymanie porządku w plikach nie stanowi większego wyzwania, dopóki znajdują się w obrębie jednego komputera. W momencie, kiedy posiadamy więcej niż jeden komputer na którym pracujemy, powstaje problem. Wszystko jedno, czy jest to komputer domowy i firmowy, czy stacjonarny i laptop, dwa laptopy, czy dowolna kombinacja większej liczby komputerów. Jak dopilnować, żeby na każdym komputerze znajdował się zestaw najbardziej aktualnych plików? Ręczne sprawdzanie odpada, przy dużej liczbie plików jest niewykonalne, przy mniejszej, zawsze można o czymś zapomnieć, przeoczyć. Potrzebny jest program, który się tym zajmie.

Ale na czym właściwie polega problem? Co trudnego jest w synchronizacji plików i folderów z punktu widzenia software-u? Programów porównujących zawartość dwóch katalogów nie brakuje, również darmowych, taką funkcjonalność posiada między innymi darmowy FreeCommander. Szkopuł tkwi w wykrywaniu i synchronizowaniu skasowanych plików. Typowy program potrafiący porównać dwa katalogi, przenosi pliki tam gdzie ich brakuje, nie potrafi jednak rozpoznać, że dany plik został skasowany z rozmysłem i powinien również zostać skasowany w drugim katalogu. Do tego celu potrzebna jest baza danych wszystkich synchronizowanych plików. Bez niej skasowany plik będzie powracał jak bumerang przy każdym porównaniu. Bez propagacji usunięć plików, nie może być mowy o prawdziwej synchronizacji.

Programów potrafiących synchronizować kasowanie plików jest na rynku niewiele. Jednak jest to absolutnie podstawowa funkcjonalność, inaczej nigdy nie będziemy mogli pozbyć się niepotrzebnych śmieci i zagubimy się w bałaganie rzeczy, które powinny zostać skasowane, ale nie zostały.

Druga kwestia to przejrzyste przedstawienie wyników analizy przed synchronizacją. Zawsze lepiej skontrolować, jakie operacje program zamierza wykonać na naszych plikach. Kiedy synchronizacji poddawane jest kilka tysięcy plików, odpowiednie przedstawienie wyników jest kluczowe do zorientowania się, co w zasadzie będzie się działo, czy są jakieś konflikty, ile plików będzie skasowanych, ile nadpisanych, ile nowych. Oczywiście nie chodzi o drobiazgowe kontrolowanie każdej zmiany, raczej o zdroworozsądkowe sprawdzenie, czy analiza ma sens. Jeśli wiem, że modyfikowałem najwyżej kilkanaście plików i nie kasowałem żadnych, a w analizie wyjdzie aktualizacja kilkuset plików i drugie tyle zostanie usuniętych, warto przyjrzeć się szczegółom.

Osobna kwestia to dodatkowa funkcjonalność, jak generowanie szczegółowych raportów, wersjonowanie plików (tworzenie kolejnych wersji z nowym numerem, zamiast nadpisywania ich), automatyzacja synchronizacji w zależności od zdarzenia, np. przed zamknięciem systemu, w momencie podłączenia pamięci zewnętrznej etc. Warto rozważyć, które z tych funkcji będą dla nas rzeczywiście przydatne i porównać pod tym kątem dostępne rozwiązania.

Tak synchronizację przedstawia Goodsync

Ostatnia kwestia dotyczy tego, czy chcemy korzystać z instalacji na konkretnym komputerze, czy uruchamiać program do synchronizacji z przenośnej pamięci USB. Oba rozwiązania mają swoje zalety i wady. Instalacja lokalna pozwala na większą integrację z systemem i łatwiejsze przypisanie automatycznych akcji w reakcji na określone zdarzenia. Jednak instalacja lokalna umożliwia jedynie synchronizację z tą konkretną maszyną, na której program został zainstalowany. Jeśli chcemy zsynchronizować dwa komputery, ale nie przy pomocy sieci, lecz przenośnej pamięci, będą potrzebne dwie instalacje (co może pociągnąć za sobą dodatkowe koszty). Dodatkowo każda reinstalacja systemu, czy jego awaria zmusza do backupowania ustawień programu i baz danych synchronizacji. Dla porównania, program zainstalowany na pamięci przenośnej, typu pendrive, można wykorzystać do synchronizacji dowolnej ilości folderów, na dowolnej ilości komputerów. Sam program jest niewrażliwy na reinstalacje systemu. Osobiście zdecydowanie preferuję instalację na pamięci przenośnej i za żadne skarby świata nie zmieniłbym jej na instalację lokalną.

Na koniec warto podsumować, jakie zalety i wady ma synchronizowanie lokalne, z pominięciem sieci.

Do zalet synchronizacji z pominięciem sieci zaliczyć można:

  • Nie obciąża transferów sieci. Szczególnie przydatne, gdy ktoś korzysta z wolnego łącza lub posiada limity transferu, czyli np. internet 3G.
  • Prędkość transferu jest ograniczona jedynie prędkością nośników, czyli np. dwóch dysków twardych, ewentualnie dysku i pamięci flash. Zazwyczaj niemal każdy nośnik oferuje większe transfery niż internet.
  • W związku z dwoma powyższymi punktami, synchronizacja lokalna lepiej nadaje się do pracy na bardzo dużych ilościach danych.
  • Za program płacimy raz (albo wcale) i możemy synchronizować nielimitowaną ilość danych, nie ma konieczności wykupywania dodatkowej pojemności, czy comiesięcznych opłat.
  • Nikt z zewnątrz nie ma dostępu do naszych plików, dane zostają tylko i wyłącznie na naszych lokalnych, prywatnych sprzętach i pamięciach.
  • Program do synchronizacji możemy włączyć kiedy mamy ochotę, kiedy nie chcemy, nie obciąża procesora, ani nie zajmuje pamięci. (Od biedy z Dropboxem i pochodnymi można tak samo, ale jest to mało wygodne)

Natomiast do wad synchronizacji z pominięciem sieci zaliczyć można:

  • Synchronizowanie pomiędzy różnymi systemami operacyjnymi jest mocno utrudnione. Wymaga posiadania przynajmniej dwóch rożnych wersji programu, co czasem wiąże się z dodatkowymi wydatkami. W przypadku niektórych systemów, czy niektórych rozwiązań synchronizacja pomiędzy systemami w ogóle nie jest możliwa.
  • Skoro nie synchronizujemy z siecią, nie mamy zdalnego dostępu do plików przez przeglądarkę.
  • Zazwyczaj nie ma odpowiednika aplikacji na telefon, a jedyna możliwość synchronizacji telefonu z komputerem polega na podłączeniu telefonu jako pamięci przenośnej (brak możliwości synchronizowania kontaktów, kalendarza etc., tylko pliki).

Na koniec dodam, że niemal każdy program do synchronizacji lokalnej plików i folderów ma bogate opcje synchronizacji przez sieć,  może więc z powodzeniem zastąpić Dropboxa, ewentualnie przydać się przy zarządzaniu plikami na serwerze (edytujemy naszą stronę WWW na jej lokalnej kopii na dysku twardym, a program automatycznie synchronizuje tylko te pliki co trzeba, wgrywając na serwer ich najnowsze wersje). Jednak na tej funkcjonalności nie będę się skupiał, ponieważ nie jest tematem niniejszego artykułu. Co najwyżej pokrótce wymienię z jakimi rodzajami synchronizacji sieciowej program jest kompatybilny.

W następnych częściach artykułu przedstawię konkretne programy, które przetestowałem na żywym organizmie, czyli na swoich własnych, cennych plikach ;-) Stay tuned.