Za oknem pada, to z pasami więcej w domu niż na dworze, a więc postanowiłem wykorzystać ten dzień na przygotowanie nowego serwera VPS (więcej o tym niebawem, pewnie jakoś po weekendzie) na którym już od kilku godzin działa WebInsider.

Przy tej okazji korzystałem m.in. z SSH (w tym SCP dla transferu plików) oraz narzędzia/programu rsync.

I tak sobie pomyślałem, że chyba nie pisałem jeszcze o synchronizacji plików za pomocą rsync przez SSH – a zdecydowanie warto to nadrobić, bo jest to niezwykle przydatne i dość wygodne połączenie np. przy migracji serwera (choć nie tylko).

Rsync przez SSH

Załóżmy, że mamy 2 serwery (lub komputery, nie ma znaczenia – ważne, by była dostępna usługa SSH) i chcemy skopiować dane/pliki z jednego na drugi, najlepiej z zachowaniem wszystkich właściwości plików (np. uprawnień).

Oczywiście możemy zrobić lokalnie kopię na serwerze A, choćby jako archiwum tar/gzip (możemy w ten sposób zachować właściwości plików), które następnie skopiujemy np. za pomocą WinSCP na serwer B, i tam je rozpakujemy – sam często korzystam z tej metody, choć sprawdza się ona głównie dla mniejszych ilości danych.

W sytuacji gdy danych jest więcej (ilość lub objętość) zazwyczaj szybciej/sprawniej wyjdzie skopiować je po SSH za pomocą programu rsync.

Z racji tego, że polecenie wygląda inaczej zależnie od tego, czy zostanie wprowadzone na komputerze źródłowym czy docelowym, postanowiłem rozbić to na 2 oddzielne podpunkty:

Kopiowanie na zdalny serwer/komputer

Zaczniemy od sytuacji gdy jesteśmy zalogowani na komputerze z którego dane chcemy przesłać na inny (zdalny) serwer/komputer – w takim przypadku najprostsze polecenie będzie wyglądało np. tak:

rsync -avzl -a /katalog/lokalny/ -e ssh użytkownik@adres_zdalnego_serwera:/katalog/zdalny

np.:

rsync -avzl -a /var/www/ -e ssh patryk@123.124.125.126:/var/www

Natomiast w sytuacji gdy usługa SSH na zdalnym urządzeniu działa na porcie innym niż domyślny (zalecam) musimy dodać jeszcze numer portu:

rsync -avzl -a /katalog/lokalny/ -e "ssh -p PORT" użytkownik@adres_zdalnego_serwera:/katalog/zdalny

np.:

rsync -avzl -a /var/www/ -e "ssh -p 2122" patryk@123.124.125.126:/var/www

Kopiowanie na lokalny serwer/komputer

Gdy jesteśmy zalogowani na komputerze na który chcemy skopiować dane z innego (zdalnego) serwera/komputera najprostsze polecenie będzie wyglądało np. tak:

rsync -avzl -e ssh użytkownik@adres_zdalnego_serwera:/katalog/zdalny/ /katalog/lokalny

np.:

rsync -avzl -e ssh patryk@123.124.126.127:/var/www/ /var/www

W sytuacji gdy usługa SSH na zdalnym urządzeniu działa na innym porcie niż domyślny (zalecam) musimy dodać jeszcze numer portu:

rsync -avzl -e "ssh -p PORT" użytkownik@adres_zdalnego_serwera:/katalog/zdalny/ /katalog/lokalny

np.:

rsync -avzl -e "ssh -p 2122" patryk@123.124.125.126:/var/www/ /var/www

Po zestawieniu połączenia wystarczy podać hasło (+ ew. hasło jednorazowe przy logowaniu dwuskładnikowym) i w tym momencie powinien nastąpić transfer plików między urządzeniami.

Zgłoś błąd na stronie

Potrzebujesz profesjonalnej pomocy? Skontaktuj się z nami!

WebInsider poleca księgowość wFirma
WebInsider korzysta z VPSa w HitMe.pl
WebInsider poleca VPSy DigitalOcean
WebInsider poleca serwis Vindicat
Napisz komentarz
wipl_napisz-komentarz_01Jeśli informacje zawarte na tej stronie okazały się pomocne, możesz nam podziękować zostawiając poniżej swój komentarz.

W tej formie możesz również zadać dodatkowe pytania dotyczące wpisu, na które - w miarę możliwości - spróbujemy Ci odpowiedzieć.
Linki partnerskie
Niektóre z linków na tej stronie to tzw. "linki partnerskie", co oznacza, że jeśli klikniesz na link i dokonasz wymaganej akcji (np. zakup/rejestracja) możemy otrzymać za to prowizję. Pamiętaj, że polecamy tylko te produkty i usługi, z których sami korzystamy, i uważamy, że są tego na prawdę warte... :-)
Znaki towarowe i nazwy marek
W niektórych wpisach (oraz innych miejscach na stronie) mogą być przedstawione/użyte znaki towarowe i/lub nazwy marek, które stanowią własność intelektualną tych podmiotów, a zostały użyte wyłącznie w celach informacyjnych.

Potrzebujesz profesjonalnej pomocy? Skontaktuj się z nami!