Kopirajte i napravite sigurnosne kopije datoteka i mapa pomoću uslužnog programa Rsync
Rsync je brz i svestran alat za kopiranje datoteka i mapa. Alat može kopirati podatke lokalno i na druge hostove, uključujući Cloud Storage od Introserva. Opcije alata omogućuju kontrolu mnogih aspekata kopiranja i zrcaljenja podataka. Jedna od glavnih značajki je mogućnost kompresije podataka tijekom slanja, što omogućuje ubrzanje procesa kopiranja između poslužitelja. Još jedna prednost je preskakanje identičnih datoteka tijekom kopiranja. Stoga će se kopirati ili prenositi samo različite datoteke, što će nesumnjivo uštedjeti vrijeme pri sinkronizaciji velikih direktorija.
Opcije alata
Pogledajmo primjere korištenja Rsync za kopiranje datoteka i direktorija na udaljeni Cloud Storage od Introserva korištenjem SSH protokola. Važno! Slične naredbe, samo s navođenjem ciljnog poslužitelja, omogućit će vam kopiranje direktorija i datoteka na bilo koji udaljeni poslužitelj putem SSH-a.
Pogledajmo neke od glavnih opcija alata koje će se najčešće koristiti. Detaljniji popis dostupnih opcija dostupan je u man dokumentaciji (naredba man rsync):
-v – prikaz detaljnih informacija o procesu
-c – provjera kontrolnih suma datoteka
-q – minimalne informacije
-a – način arhiviranja
-R – relativne putanje
-y – ne prepisuj novije datoteke
-b – stvori sigurnosnu kopiju
-l – kopiraj simboličke linkove
-L – kopiraj sadržaj linkova
-H – kopiraj tvrde linkove
-g – sačuvaj grupu
-p – sačuvaj dozvole datoteka
-t – sačuvaj vrijeme izmjene
-x – radi samo u ovom datotečnom sustavu
-e – koristi drugi transportni protokol (npr. ssh)
-z – komprimiraj datoteke prije prijenosa
--delete – izbriši datoteke koje nisu u izvoru
--exclude – isključi datoteke
--recursive – rekurzivno navedi direktorije
--no-recursive – onemogući rekurziju
--progress – prikaži napredak prijenosa datoteka
--stat – prikaži statistiku prijenosa
--max-size – maksimalna veličina datoteke za prijenos
--bwlimit – ograničenje brzine prijenosa datoteka
Kratko objašnjenje sintakse
rsync -az --progress /home/user/test.file boxxxx@boxxxxx.introserv.cloud:/remote_folder/
-az --progress – opcije koje ukazuju da je potrebno arhivirati prenesenu datoteku, komprimirati je prije prijenosa i prikazati napredak kopiranja na zaslonu
/home/user/test.file – putanja do datoteke i sama datoteka koju je potrebno prenijeti
boxxxx@boxxxxx.introserv.cloud: – odredišni resurs (u našem primjeru to je cloud pohrana, ali može biti i udaljeni poslužitelj). boxxxx je korisničko ime, nakon znaka @ nalazi se naziv resursa ili IP adresa udaljenog poslužitelja
/remote_folder/ – mapa na udaljenom resursu. U našem primjeru – u Introserv Cloud Storage.
Kopiranje jedne datoteke u mapu na udaljenoj pohrani
rsync -az --progress /home/user/Desktop/test.file boxxxxx@boxxxxx.introserv.cloud:/remote_folder/
Bit ćete upitani za lozinku za povezivanje s pohranom. Unesite lozinku i nastavite – vidjet ćete napredak i brzinu prijenosa datoteke.
Kopiranje mape u mapu na udaljenoj pohrani
Obratite pozornost na kose crte u redovima izvorne mape i odredišne mape. Odsutnost kose crte u izvornoj mapi označava da želimo rekurzivno prenijeti lokalnu mapu Desktop sa svim njezinim sadržajem u mapu remote_folder.
rsync -azr --progress /home/user/Desktop boxxxx@boxxxx.introserv.cloud:/remote_folder/
Vidjet ćete direktorij i sve datoteke unutar njega tijekom prijenosa.
Kopiranje sadržaja lokalne mape u mapu na udaljenoj pohrani
Obratite pozornost na kosu crtu na kraju izvorne mape. Njezina prisutnost označava da alat treba kopirati sadržaj lokalne mape u mapu na udaljenoj pohrani.
rsync -avzr --progress /home/user/Desktop/ boxxxx@boxxxx.introserv.cloud:/remote_folder/
Vidjet ćete napredak i brzinu kopiranja.
Kopiranje mape s udaljene pohrane u mapu na lokalnom poslužitelju
Korištenjem Rsync možete pokrenuti kopiranje mape s 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 poslužitelju.
Kopiranje sadržaja mape s udaljene pohrane u mapu na lokalnom poslužitelju
Ovdje također vrijedi obratiti pozornost na kosu crtu na kraju putanje izvorne mape. Njezina prisutnost označava da je potrebno kopirati samo sadržaj mape.
rsync -zra --progress boxxxxx@boxxxxx.introserv.cloud:/remote_folder/ /home/user/Desktop/
Kopiranje sadržaja mape s isključivanjem i/ili uključivanjem datoteka
Alat vam omogućuje izričito navesti koje datoteke treba prenijeti, a koje treba isključiti. Za to se koriste 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 je prenesena samo jedna datoteka, navedena opcijom --include. Imajte na umu da se opcije include i exclude mogu koristiti odvojeno.
Kopiranje samo datoteka koje se razlikuju od datoteka u odredišnoj mapi
Za poništavanje kopiranja identičnih datoteka trebate koristiti opciju -c za provjeru kontrolnih suma datoteka. To će omogućiti isključivanje iz procesa kopiranja onih datoteka koje se već nalaze u odredišnoj mapi.
rsync -azrc --progress /home/user/Desktop/ boxxxx@boxxxx.introserv.cloud:/remote_folder/
Vidjet ćete da su u udaljenu mapu kopirane samo različite datoteke, osim datoteka koje se već nalaze na udaljenoj pohrani.
Korištenje Rsync putem SSH s nestandardnim SSH portom
Za prijenos datoteka s/na poslužitelj s promijenjenim SSH portom koristite opciju -e 'ssh -p broj_porta'.
Naredba za kopiranje datoteke na poslužitelj na kojem je SSH port promijenjen na 44 izgledat će ovako:
rsync -azrc --progress -e 'ssh -p44' /home/user/Desktop/ user@server_ip:/remote_folder/