Rsync

rsync
Aktualna wersja stabilna 3.3.0
(6 kwietnia 2024) [±]
Język programowania C
System operacyjny System uniksopodobny, Microsoft Windows
Licencja LGPL
Strona internetowa
Wikipedia:Weryfikowalność
Ten artykuł od 2021-03 wymaga zweryfikowania podanych informacji.
Należy podać wiarygodne źródła w formie przypisów bibliograficznych.
Część lub nawet wszystkie informacje w artykule mogą być nieprawdziwe. Jako pozbawione źródeł mogą zostać zakwestionowane i usunięte.
Sprawdź w źródłach: Encyklopedia PWN • Google Books • Google Scholar • Federacja Bibliotek Cyfrowych • BazHum • BazTech • RCIN • Internet Archive (texts / inlibrary)
Dokładniejsze informacje o tym, co należy poprawić, być może znajdują się w dyskusji tego artykułu.
Po wyeliminowaniu niedoskonałości należy usunąć szablon {{Dopracować}} z tego artykułu.

rsync (z ang. remote synchronization – zdalna synchronizacja) – protokół synchronizacji plików przez sieć.

Zwykłe systemy przesyłania różnic (takie jak popularny diff/patch) wymagają istnienia obu wersji po jednej stronie, na podstawie których tworzona jest lista różnic a następnie przesyłana przez sieć. Rsync działa w odmienny sposób – przez sieć wysyłany jest spis plików z hashami bloków (zwykle ok. 1 kB), po czym na drugiej maszynie program sprawdza, które z fragmentów już posiada. Daje to bardzo dobre rezultaty i umożliwia radzenie sobie z sytuacjami, które dla patch/diff byłyby trudne do realizacji, jak przeniesienia plików.

Rsync umożliwia też dostęp na bieżąco, w przeciwieństwie do „raz na dzień” w przypadku patch/diff.

Przykłady

rsync --progress --delete -axH /home/ /mnt/raid/home/

uaktualnia katalog /mnt/raid/home/ zawartością /home/ z wiernym zachowaniem dowiązań symbolicznych, praw itp. (-a), dowiązań twardych (-H), w ramach danego systemu plików (-x). Wywołanie używane np. do przenoszenia zawartości partycji.

rsync -Havz 192.168.1.96::etc /!rrr/

Kopiuje do katalogu /!rrr/ z komputera o adresie 192.168.1.96 udział etc, udostępniony przez rsyncd.


rsync -a -m --include='*.JPG' --include='*/' --exclude='*' test1/ test3/

Kopiuje tylko pliki JPG z katalogu test1 do katalogu test3 (pod warunkiem bycia w katalogu, w którym one się znajdują). Kopiuje całą strukturę katalogów z katalogu test1 (zawierającą pliki .JPG) i umieszcza te pliki dokładnie w tych samych podkatalogach, które były w test1.

Zobacz też

  • algorytm rsync

Linki zewnętrzne

  • http://rsync.samba.org – strona domowa
  • http://everythinglinux.org/rsync/ – podręcznik rsynca