Linux Tutorial: Synchronizacja danych z narzędziem Rsync

in #polish8 years ago

bash-161382_640.png

Replikacja danych pomiędzy wieloma maszynami, szczególnie gdy pracujemy z dużymi plikami, może się okazać procesem długim i nieskutecznym, jeżeli do pracy nie zaprzęgniemy odpowiednich narzędzi.

Rsync, czyli:

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

Źródło: wikipedia.org

pozwala na szybką wymianę plików po między maszynami zdalną i lokalną.

Zalety Rsync

Jakie korzyści płyną z zastosowania narzędzia Rsync? Dlaczego do wymiany danych nie zastosować SCP?

Poniżej przedstawiam różnice pomiędzy protokołami SCP i Rsync w kontekście przenoszenia danych pomiędzy maszynami oraz powód, dla którego narzędzie Rsync może okazać się dla nas lepszym wyborem.

O SCP dowiesz się więcej w jednej z moich poprzednich publikacji.

RóżnicaSCPRsyncDlaczego wybrać Rsync?
transmisja danychKopiowane są całe plikiKopiowane są jedynie różnice w plikachZyskujemy na czasie ze względu na mniejszą ilość danych do wymiany
wznawianie przerwanych transferówBrak możliwości wznowieniaProces kopiowania plików może być wznowionyZe względu na zastosowany algorytm do transmisji danych, Rsync umożliwia wznawianie przerwanych połączeń

Wymagania

Narzędzie Rsync domyślnie nie korzysta z algorytmu do szyfrowania danych. Ze względów bezpieczeństwa, konieczne jest aby maszyna zdalna, z którą wchodzimy w interakcje zezwalała na połączenie przez protokół SSH.

Dowiedz się jak zezwolić na połączenie przychodzące SSH na maszynie zdalnej za pomocą narzędzia UFW.

Wymiana danych

Poniżej przedstawiam przykłady wykorzystania narzędzia Rsync do synchronizacji katalogów oraz plików z możliwością wznowienia przerwanej transmisji danych.

Synchronizacja plików

Aby zsynchronizować pliki z możliwością wznowienia transmisji, należy w wierszu poleceń wprowadzić poniższą zawartość:

$ rsync -P /my/local/path/myfile user@host:/my/remote/path

Synchronizacja katalogów

Przykład synchronizacji katalogu pomiędzy maszynami zdalną i lokalną:

$ rsync -r -P /my/local/path/ user@host:/my/remote/path

Zwróć uwagę na ukośnik po ścieżce do katalogu lokalnego. Ukośnik po ścieżce do katalogu to informacja dla algorytmu, że chcemy synchronizować zawartość katalogu, a nie cały katalog.

Polecenie:

$ rsync -r -P /my/local/path user@host:/my/remote/path

utworzyłoby katalog path w katalogu /my/remote/path na maszynie zdalnej.

Wnioski

Narzędzie Rsync jest szczególnie pomocne gdy mamy do czynienia z dużymi plikami. Algorytm stosowany przez Rsync pozwala przyśpieszyć proces wymiany danych poprzez kopiowanie tylko różnic w plikach lub katalogach pomiędzy maszynami zdalną i lokalną.

Sprawdź też moje inne publikacje


piotr42_footer.png

Jeżeli masz pomysł jak uczynić powyższy artykuł lepszym, daj o tym znać w komentarzach :)

Sort:  

This post has received a 15.16% upvote from @lovejuice thanks to @piotr42. They love you, so does Aggroed. Please be sure to vote for Witnesses at https://steemit.com/~witnesses.

Congratulations @piotr42! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of upvotes

Click on any badge to view your own Board of Honor on SteemitBoard.

To support your work, I also upvoted your post!
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

Upvote this notification to help all Steemit users. Learn why here!

Coin Marketplace

STEEM 0.14
TRX 0.35
JST 0.035
BTC 115998.79
ETH 4675.53
SBD 0.86