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

rsync
Aktualna wersja stabilna 3.3.0
(6 kwietnia 2024) [±]
Język programowania C
System operacyjny System uniksopodobny, Microsoft Windows
Licencja LGPL
Strona internetowa

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 edytuj

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ż edytuj

Linki zewnętrzne edytuj