Narzędzie Rsync

18 maja 2015

Rsync – szybkie i funkcjonalne narzędzie do kopiowania plików. Można kopiować lokalnie, do/z innych hostów wykorzystując zdalną powłokę, do/z zdalnego demona rsync.

Transferowane są pliki/katalogi wyłącznie nowe i zmodyfikowane.

Narzędzie jest szeroko stosowane do tworzenia kopii zapasowych i kopii lustrzanych. Może być również stosowane jako ulepszone polecenie kopiowania do codziennych zwykłych prac na serwerze.

Narzędzie nie wymaga uprawnień administratora.

Są dwie metody z których może korzystać narzędzie rsync do kontaktu ze zdalnym systemem :

– używanie zdalnego programu shell (powłoki) jako transportu (ssh lub rsh)
– kontaktowanie się bezpośrednio z demonem rsync

Składnia :

Lokalnie:  rsync [OPTION...] SRC... [DEST]

Dostęp przez powłokę shell:
Ściąganie: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
Wypychanie: rsync [OPTION...] SRC... [USER@]HOST:DEST

Dostęp przez demona rsync:
Ściąganie: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
Wypychanie: rsync [OPTION...] SRC... [USER@]HOST::DEST
rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST

Przykłady użycia :

Synchronizacja katalogów na lokalnej maszynie :

rsync -av /home/strona/ /var/www/

Synchronizacja pojedynczego pliku :

rsync -av /etc/iptables /var/backup/

Synchronizacja katalogu /home ze zdalnego na lokalny komputer (/var/backup) (synchronizacja bezpośrednia) :

rsync -av user_rsync@192.168.3.109:/home/ /var/backup

Synchronizacja plików i katalogów ze zdalnego na lokalny komputer (synchronizacja z użyciem ssh – szyfrowane połączenie) :

rsync -av -e "ssh -p numer_portu" user_ssh@192.168.3.109:/home/ /var/backup

Synchronizacja katalogu /etc z lokalnego na zdalny komputer (synchronizacja bezpośrednia) :

rsync -av /etc user_rsync@192.168.3.109:/var/backup

Synchronizacja katalogu /etc z lokalnego na zdalny komputer (synchronizacja z użyciem ssh – szyfrowane połączenie) :

rsync -av -e "ssh -p numer_portu" /etc user_ssh@192.168.3.109:/var/backup

Użyte opcje :

-a tryb archiwalny.

Przesyłane w trybie “archiwum” zapewnia zachowanie linków symbolicznych, uprawnień dla plików i katalogów, właścicieli oraz grup, znaczników czasu.

-v tryb gadatliwy.

-e określenie zdalnej powłoki do użycia.

Dodatkowe opcje możliwe do użycia (przykłady):
Kasowanie plików i katalogów, które nie istnieją w lokalizacji źródłowej :
 

--delete 

np.

rsync -av -e "ssh -p numer_portu" --delete user_ssh@192.168.3.109:/home/ /var/backup

Kompresja plików :

Należy dodać opcję -z:

-z, --compress 

kompresja danych podczas transferu plików

--compress-level=NUM

ustawienie poziomu kompresji

--skip-compress=LIST

pominięcie kompresji plików z przyrostkiem na liście

np.

rsync -avz -e "ssh -p numer_portu" --delete user_ssh@192.168.3.109:/home/ /var/backup

Transfer plików o określonym rozmiarze :

 --max-size=SIZE 

nie transferuj plików o rozmiarze większym niż SIZE

 --min-size=SIZE

nie transferuj plików o rozmiarze mniejszym niż SIZE

np.

rsync -av --max-size='1MB' -e "ssh -p numer_portu" user_ssh@192.168.3.109:/home/ /var/backup

Wykluczanie plików :

 --exclude=PATTERN

wykluczenie plików pasujących do wzorca PATTERN

 --exclude-from=FILE 

czytanie wzorców wykluczeń z pliku FILE
np. wykluczenie pliku skrypt.sh z synchronizacji

rsync -av --exclude=skrypt.sh -e "ssh -p numer_portu" user_ssh@192.168.3.109:/home/ /var/backup
markos
Specjalizuję się w systemach komputerowych Windows oraz Linux. Oprócz wykonywanej pracy w zawodzie, informatyka jest moją pasją.

Dodaj komentarz

avatar
  Subscribe  
Powiadom o