| Termin | Definicja |
|---|---|
| rsync | rsync to narzędzie synchronizacji plików typowe dla systemów Unix/Linux, efektywnie kopiujące tylko zmienione fragmenty danych. Rsync jako narzędzie synchronizacji danychRsync jest programem przeznaczonym do kopiowania i uzgadniania zawartości katalogów między dwoma lokalizacjami. Może działać w obrębie jednego komputera, pomiędzy różnymi dyskami, przez sieć lokalną albo za pośrednictwem połączenia zdalnego. Jego główna idea polega na tym, aby nie przesyłać ponownie całej zawartości każdego pliku, jeżeli znaczna część danych już znajduje się w miejscu docelowym. Podczas kolejnego uruchomienia analizowane są różnice, a następnie kopiowane są elementy potrzebne do doprowadzenia obu lokalizacji do zgodnego stanu. Narzędzie jest szczególnie przydatne przy pracy z dużymi katalogami zawierającymi dokumenty, zdjęcia, projekty, archiwa lub pliki konfiguracyjne. Pierwsze kopiowanie może obejmować cały zbiór, natomiast późniejsze przebiegi zwykle wymagają znacznie mniej danych. Dzięki temu ogranicza się czas operacji, obciążenie połączenia oraz liczbę niepotrzebnych zapisów na nośniku. Rsync nie jest jednak automatyczną kopią zapasową samą w sobie. Sposób uruchamiania, kierunek synchronizacji i przechowywanie wcześniejszych wersji zależą od zastosowanych parametrów oraz przyjętej procedury. W praktyce może być używany z poziomu terminala, skryptu, zadania planowanego lub dodatkowej aplikacji graficznej. Dostępne są tryby pozwalające zachować strukturę katalogów, znaczniki czasu, uprawnienia, właścicieli i informacje o dowiązaniach. Nie każda opcja będzie właściwa w każdej sytuacji, dlatego przed wykonaniem operacji warto przeanalizować działanie polecenia na niewielkim, testowym zbiorze danych. Rsync na tle zwykłego kopiowania i archiwizacjiKlasyczne kopiowanie katalogu polega zazwyczaj na odczytaniu wskazanych plików i zapisaniu ich w drugiej lokalizacji. Przy ponownym kopiowaniu może dojść do zastąpienia plików, które w rzeczywistości się nie zmieniły. Rsync porównuje informacje o plikach i potrafi ograniczyć transfer do elementów zmodyfikowanych. W zależności od sytuacji bierze pod uwagę między innymi rozmiar, czas modyfikacji oraz zawartość. Przy transmisji zdalnej wykorzystywany jest mechanizm pozwalający rozpoznać wspólne fragmenty, dlatego zmiana części dużego pliku nie zawsze oznacza konieczność przesłania całego pliku. Synchronizacja różni się także od tworzenia archiwum. Archiwum jest pojedynczym zbiorem danych przeznaczonym do przechowania lub przeniesienia, natomiast rsync przede wszystkim utrzymuje zgodność dwóch miejsc. Jeżeli w katalogu źródłowym usunięto plik, samo uruchomienie synchronizacji nie musi automatycznie usunąć odpowiadającego mu pliku w katalogu docelowym. Zachowanie takie można zmienić odpowiednią opcją, lecz wymaga to ostrożności, ponieważ błędnie wybrany kierunek albo niewłaściwa ścieżka mogą spowodować niepożądane usunięcia. Rsync nie zastępuje też systemu wersjonowania. Jeżeli plik zostanie nadpisany, poprzednia treść może nie być już dostępna. Z tego powodu bezpieczne procedury często łączą synchronizację z okresowym tworzeniem kopii historycznych, migawkami systemu plików albo archiwami przechowywanymi w oddzielnej lokalizacji. Sama obecność dwóch identycznych katalogów nie gwarantuje możliwości odtworzenia danych po przypadkowym usunięciu, awarii nośnika lub zaszyfrowaniu plików przez złośliwe oprogramowanie. Rsync a typowe problemy z plikami i ścieżkamiJednym z częstych źródeł nieporozumień jest znaczenie ukośnika na końcu ścieżki źródłowej. W zależności od zapisu kopiowany może być cały katalog jako element nadrzędny albo jedynie jego zawartość. Przed użyciem polecenia należy dokładnie sprawdzić, jaki układ katalogów ma powstać w miejscu docelowym. Pomocne jest uruchomienie trybu symulacji, który pokazuje planowane działania bez modyfikowania plików. Problemy mogą pojawić się również przy nazwach zawierających spacje, znaki narodowe, nawiasy lub znaki interpretowane przez powłokę. W takich przypadkach trzeba poprawnie ująć ścieżkę w cudzysłowy i upewnić się, że kodowanie znaków jest obsługiwane przez oba środowiska. Nieprawidłowo zapisany wzorzec wykluczenia może spowodować pominięcie niewłaściwych danych albo skopiowanie plików, które miały zostać pominięte. Ważnym zagadnieniem są uprawnienia. Plik może istnieć w katalogu źródłowym, ale po skopiowaniu być niedostępny dla właściwego użytkownika. Przy synchronizacji między różnymi systemami nie wszystkie atrybuty da się zachować w taki sam sposób. Dotyczy to między innymi właścicieli, grup, uprawnień dostępu, dowiązań symbolicznych i znaczników czasu. Należy ustalić, które właściwości mają znaczenie dla danego zbioru, a następnie dobrać parametry do rzeczywistych potrzeb. Rsync może także zgłaszać błędy wynikające z braku miejsca, przerwanego połączenia, zablokowanego pliku, niewystarczających uprawnień albo zmienionej ścieżki montowania. Sam komunikat o zakończeniu programu nie powinien być jedyną podstawą oceny rezultatu. Warto sprawdzić kod wyjścia, dziennik operacji i kilka reprezentatywnych plików. Szczególnej uwagi wymagają katalogi zawierające pliki aktywnie modyfikowane przez aplikacje, ponieważ synchronizacja w trakcie zapisu może uchwycić stan niepełny. Rsync w codziennej pracy: praktyczne wskazówkiPrzed pierwszym użyciem należy przygotować jasny opis celu: czy chodzi o jednorazowe skopiowanie danych, regularne odświeżanie drugiej lokalizacji, czy utrzymywanie kilku zbiorów o różnym przeznaczeniu. Następnie trzeba wskazać źródło i cel w sposób jednoznaczny. Dobrą praktyką jest stosowanie osobnych katalogów roboczych oraz unikanie poleceń uruchamianych bezpośrednio na całym dysku, jeżeli nie ma takiej potrzeby. Bezpieczny przebieg może obejmować kilka etapów:
Przy dużych zbiorach przydatne jest ograniczenie zakresu do określonych typów plików lub wykluczenie katalogów tymczasowych. Należy jednak pamiętać, że reguły wykluczeń są częścią procedury i powinny być opisane, aby po kilku miesiącach było wiadomo, dlaczego określone elementy nie są kopiowane. Dziennik powinien zawierać datę, źródło, cel, użyte opcje oraz informację o błędach. W przypadku zadań cyklicznych warto przewidzieć powiadomienie o nieudanym przebiegu, ponieważ cicha przerwa w synchronizacji może pozostać niezauważona. Połączenia zdalne powinny być chronione właściwym uwierzytelnianiem, a dane wrażliwe należy przesyłać tylko przez zaufany kanał. Sam rsync nie rozwiązuje problemu kontroli dostępu ani ochrony przed przejęciem konta. W przypadku kopii przeznaczonych do odtworzenia po awarii sensowne jest przechowywanie co najmniej jednej wersji poza podstawowym urządzeniem. Warto też oddzielić uprawnienia do odczytu od uprawnień do usuwania, aby ograniczyć skutki pomyłki lub przejęcia dostępu. Kiedy rsync wymaga konsultacji z serwisemDo serwisu warto zgłosić się wtedy, gdy synchronizacja przerywa się bez jasnej przyczyny, pojawiają się powtarzające błędy odczytu, komputer nie rozpoznaje dysku albo dane znikają po podłączeniu nośnika. Konsultacja jest wskazana również wtedy, gdy nie ma pewności, który katalog jest źródłem, a który celem, lub gdy planowana operacja może objąć dużą liczbę ważnych plików. Przed zmianą parametrów dobrze jest zabezpieczyć istniejący stan i nie wykonywać kolejnych prób na oryginalnym nośniku, jeżeli podejrzewa się jego uszkodzenie. Warszawskie Pogotowie Komputerowe 24/7 może pomóc w sprawdzeniu stanu komputera, dysków i konfiguracji synchronizacji. W ramach konsultacji można przeanalizować strukturę katalogów, komunikaty programu, uprawnienia oraz sposób wykonywania kopii. Istotne jest także rozróżnienie problemu z samym narzędziem od problemu z systemem plików, połączeniem, nośnikiem lub konfiguracją użytkownika. Dopiero po takiej ocenie można dobrać bezpieczną metodę dalszego działania i ustalić, czy dane da się skopiować bez zwiększania ryzyka ich utraty. Nie powinno się uruchamiać opcji usuwających pliki po stronie docelowej bez wcześniejszej symulacji i potwierdzenia kierunku operacji. W razie podejrzenia awarii dysku pierwszeństwo ma zabezpieczenie danych, a nie wielokrotne ponawianie synchronizacji. W przypadku plików używanych przez programy biznesowe należy najpierw zapewnić ich spójność, zamykając aplikacje albo korzystając z procedury przygotowanej dla konkretnego systemu. Dzięki temu rsync może pełnić swoją rolę jako sprawne narzędzie kopiowania i uzgadniania danych, bez zastępowania diagnostyki, planu archiwizacji oraz regularnej kontroli kopii. |