Kopirajte i napravite sigurnosne kopije datoteka i mapa pomoću uslužnog programa Rsync
Više o Rsync-u
Rsync je brz i svestranski alat za kopiranje datoteka i mapa. Utility može kopirati podatke lokalno i na druge domaćine, uključujući Cloud Storage od Introserv-a.
Opcije utility omogućavaju vam kontrolu mnogih aspekata kopiranja podataka i mirroriranja.
Jedna od glavnih značajki je mogućnost kompresije podataka tijekom slanja, što vam omogućava ubrzavanje procesa kopiranja između servera.
Još jedna prednost je iznimka pri kopiranju identičnih datoteka. Stoga će se samo različite datoteke kopirati ili prenijeti, što će svakako uštedjeti vremena sinkroniziranja velikih direktorija.
Opcije utility
Pogledajmo primjere korištenja Rsync-a za kopiranje datoteka i direktorija na udaljeni Cloud Storage od Introserv-a korištenjem SSH protokola. Važno! Slične naredbe, samo specificiranjem ciljnog servera, omogućit će vam kopiranje direktorija i datoteka na bilo koji udaljeni server putem SSH-a.
Pogledajmo neke od glavnih opcija utility koja se koriste najčešće. Detaljniji popis dostupnih opcija dostupan je u man dokumentaciji (man rsync naredba):
-v – prikazuje detaljne informacije o procesu
-c – provjerava kontrolne zbrojeve datoteke
-q – minimalne informacije
-a – arhivni način
-R – relativne putanje
-y – ne prepisuje novije datoteke
-b – kreira sigurnosnu kopiju
-l – kopira symlink-ove
-L – kopira sadržaj veza
-H – kopira tvrde veze
-g – čuva grupu
-p – čuva dozvole datoteke
-t – čuva vrijeme izmjene
-x – radi samo u ovom FS
-e – koristi drugi protokol transporta (na primjer, ssh)
-z – kompresira datoteke prije prijenosa
--delete – briše datoteke koje nisu u izvoru
--exclude – isključuje datoteke
--recursive – nabrojavanja direktorija rekurzivno
--no-recursive – onemogućava rekurziju
--progress – prikazuje napredak prijenosa datoteke
--stat – pokazuje statistiku prijenosa
--max-size – maksimalna veličina datoteke za prijenos
--bwlimit — ograničenje brzine za prijenos datoteka
Kratko objašnjenje sintakse
rsync -az --progress /home/user/test.file boxxxx@boxxxxx.introserv.cloud:/remote_folder/
-az --progress opcije koje pokazuju da je potrebno arhivirati prenesenu datoteku, kompresirati je prije prijenosa, te također prikazati napredak kopiranja na ekranu;
/home/user/test.file ovo je putanja do datoteke i sama datoteka koja trebate biti prenesen;
boxxxx@boxxxxx.introserv.cloud: ovo je odredišni resurs (u našem primjeru je to cloud storage, ali može biti i udaljeni server) boxxxx je korisničko ime, nakon znaka @ je naziv resursa ili IP adresa udaljenog servera;
/remote_folder/ ovo je mapa na udaljenom resursu. U našem primjeru - u Introserv Cloud Storage.
Kopiranje jedne datoteke u mapu na udaljenu pohranu
rsync -az --progress /home/user/Desktop/test.file boxxxxx@boxxxxx.introserv.cloud:/remote_folder/
Trebat će vam lozinka za povezivanje na pohranu:

Unesite lozinku i nastavite, vidjet ćete napredak i brzinu prijenosa datoteke:

Kopiranje mape u mapu na udaljenu pohranu
Obratite pažnju na kose crte u liniji izvora i odredišne mape. Odsutnost kose crte u mapi izvora pokazuje da želimo rekurzivno prenijeti lokalnu Desktop mapu sa svim njenim sadržajem u remote_folder mapu
rsync -azr --progress /home/user/Desktop boxxxx@boxxxx.introserv.cloud:/remote_folder/
Vidjet ćete kako se direktorij i sve datoteke unutar njega prenose:

Kopiranje sadržaja lokalne mape u mapu na udaljenu pohranu
Obratite pažnju na kosu crtu na kraju izvorne mape. Njezina prisutnost pokazuje da bi utility trebao kopirati sadržaj lokalne mape u mapu na udaljenu pohranu
rsync -avzr --progress /home/user/Desktop/ boxxxx@boxxxx.introserv.cloud:/remote_folder/
Vidjet ćete napredak i brzinu kopiranja:

Kopiranje mape sa udaljene pohrane u mapu lokalnog servera
Korištenjem Rsync-a, možete inicirati kopiranje mape sa udaljene pohrane. Naredba izgleda ovako:
rsync -zra --progress boxxxxx@boxxxxx.introserv.cloud:/remote_folder /home/user/Desktop/
Vidjet ćete napredak i brzinu kopiranja udaljene mape u mapu na lokalnom serveru:

Kopiranje sadržaja mape sa udaljene pohrane u mapu lokalnog servera
Ovdje je također vrijedno obratiti pažnju na kosu crtu na kraju putanje izvorne mape. Njezina prisutnost pokazuje da trebate kopirati samo sadržaj mape
rsync -zra --progress boxxxxx@boxxxxx.introserv.cloud:/remote_folder/ /home/user/Desktop/

Kopiranje sadržaja mape isključujući i/ili uključujući datoteke
Utility vam omogućava eksplicitno navedite koje datoteke prenijeti i koje trebate biti isključene. Za to koristite opcije --include i --exclude.
rsync -azr --progress --include 'test.file' --exclude 'test.file2' /home/user/Desktop/ boxxxx@boxxxx.introserv.cloud:/remote_folder/
Vidjet ćete da se prenosi samo jedna datoteka, specificirana opcijom --include. Molim napomenite da se opcije include i exclude mogu koristiti odvojeno jedna od druge

Kopirajte samo datoteke koje se razlikuju od datoteka u odredišnoj mapi
Da biste otkazali kopiranje identičnih datoteka, trebate koristiti opciju -c za provjeru kontrolnih zbrojeva datoteke. To će vam omogućiti isključenje iz procesa kopiranja onih datoteka koje su već u odredišnoj mapi
rsync -azrс --progress /home/user/Desktop/ boxxxx@boxxxx.introserv.cloud:/remote_folder/
Vidjet ćete da su se samo 3 datoteke kopirala u udaljenu mapu, s iznimkom test.odt datoteke, koja je već na udaljenu pohrani:

Korištenje Rsync-a preko SSH s nestandardnim SSH portom
Za prijenos datoteka sa/na server s promijenjenim SSH portom, koristite opciju -e 'ssh -p port_number'
Naredba za kopiranje datoteke na server na kojem je SSH port promijenjen na 44 izgledat će ovako:
rsync -azrс --progress -e 'ssh -p44' /home/user/Desktop/ user@server_ip:/remote_folder/