Kopiranje in varnostno kopiranje datotek in map z orodjem Rsync

Več o Rsyncu

Rsync je hitro in vsestransko orodje za kopiranje datotek in map. Orodje lahko kopira podatke lokalno in v druge gostitelje, vključno s shrambo v oblaku podjetja Introserv.
Možnosti pripomočka omogočajo nadzor številnih vidikov kopiranja in zrcaljenja podatkov.
Ena glavnih funkcij je možnost stiskanja podatkov med pošiljanjem, kar vam omogoča, da pospešite postopek kopiranja med strežniki.
Druga prednost je izjema pri kopiranju enakih datotek. Zato se bodo kopirale ali prenašale le različne datoteke, kar bo nedvomno prihranilo čas pri sinhronizaciji velikih imenikov.

Možnosti orodja

Oglejmo si primere uporabe programa Rsync za kopiranje datotek in imenikov v oddaljeno shrambo v oblaku iz strežnika Introserv z uporabo protokola SSH. Pomembno! S podobnimi ukazi, le da določite ciljni strežnik, boste lahko prek SSH kopirali imenike in datoteke v kateri koli oddaljeni strežnik.

Oglejmo si nekaj glavnih uporabniških možnosti, ki jih boste najpogosteje uporabljali. Podrobnejši seznam razpoložljivih možnosti je na voljo v dokumentaciji man(man rsync command):

-v - prikaže podrobne informacije o procesu
-c - preveri kontrolne vsote datotek
-q - minimalne informacije
-a - način arhiviranja
-R - relativne poti
-y - ne prepisujte novejših datotek
-b - ustvari varnostno kopijo
-l - kopiranje simelnih povezav
-L - kopiranje vsebine povezav
-H - kopiranje trdih povezav
-g - shrani skupino
-p - ohrani dovoljenja za datoteke
-t - shrani čas spremembe
-x - deluje samo v tem FS
-e - uporabite drug transportni protokol (na primer ssh)
-z - stisnite datoteke pred prenosom
--delete - izbriše datoteke, ki niso v viru
--exclude - izključi datoteke
--recursive - rekurzivno našteje imenike
--no-recursive - onemogoči rekurzijo
--progress - prikaže potek prenosa datotek
--stat - prikaže statistiko prenosa
--max-size - največja velikost datoteke za prenos
--bwlimit - omejitev hitrosti prenosa datotek

Kratka razlaga sintakse

rsync -az --progress /home/user/test.file boxxxx@boxxxxx.introserv.cloud:/remote_folder/

-az --progress možnosti, ki označujejo, da je treba preneseno datoteko arhivirati, jo pred prenosom stisniti in na zaslonu prikazati tudi potek kopiranja;

/home/user/test.file to je pot do datoteke in sama datoteka, ki jo je treba prenesti;

boxxxx@boxxxxx.introserv.cloud: to je ciljni vir (v našem primeru je to shramba v oblaku, lahko pa je tudi oddaljeni strežnik) boxxxx je uporabniško ime, za znakom @ je ime vira ali naslov IP oddaljenega strežnika;

/remote_folder/: to je mapa na oddaljenem viru. V našem primeru - v storitvi Introserv Cloud Storage.

Kopiranje ene datoteke v mapo v oddaljenem skladišču

rsync -az --progress /home/user/Desktop/test.file boxxxxx@boxxxxx.introserv.cloud:/remote_folder/

Pozvan bo poziv za geslo za povezavo s shrambo:

Vnesite geslo in nadaljujte, videli boste napredek in hitrost prenosa datoteke:

Kopiranje mape v mapo v oddaljeni shrambi

Bodite pozorni na poševnice v vrsticah izvorne in ciljne mape. Odsotnost poševnice v izvorni mapi pomeni, da želimo rekurzivno prenesti lokalno mapo namizja z vso njeno vsebino v mapo oddaljene_predal

rsync -azr --progress /home/user/Desktop boxxxx@boxxxx.introserv.cloud:/remote_folder/

Videli boste, da se prenesejo imenik in vse datoteke v njem:

Kopiranje vsebine lokalne mape v mapo na oddaljeni pomnilnik

Bodite pozorni na poševnico na koncu izvorne mape. Njena prisotnost pomeni, da mora orodje kopirati vsebino lokalne mape v mapo v oddaljeni shrambi.

rsync -avzr --progress /home/user/Desktop/ boxxxx@boxxxx.introserv.cloud:/remote_folder/

Videli boste napredek in hitrost kopiranja:

Kopiranje mape iz oddaljene shrambe v mapo lokalnega strežnika

S programom Rsync lahko sprožite kopiranje mape iz oddaljene shrambe. Ukaz je videti takole:

rsync -zra --progress boxxxxx@boxxxxx.introserv.cloud:/remote_folder /home/user/Desktop/

Videli boste napredek in hitrost kopiranja oddaljene mape v mapo v lokalnem strežniku:

Kopiranje vsebine mape iz oddaljene shrambe v mapo lokalnega strežnika

Pri tem velja biti pozoren tudi na poševnico na koncu poti do izvorne mape. Njena prisotnost pomeni, da je treba kopirati samo vsebino mape

rsync -zra --progress boxxxxx@boxxxxx.introserv.cloud:/remote_folder/ /home/user/Desktop/

Kopiranje vsebine mape brez in/ali vključno z datotekami

Pripomoček omogoča, da izrecno določite, katere datoteke naj se prenesejo in katere naj se izključijo. Za to uporabite možnosti --include in --exclude.

rsync -azr --progress --include 'test.file' --exclude 'test.file2' /home/user/Desktop/ boxxxx@boxxxx.introserv.cloud:/remote_folder/

Videli boste, da se prenese samo ena datoteka, ki je določena z možnostjo --include. Upoštevajte, da lahko možnosti include in exclude uporabljate ločeno.

Kopirajte samo datoteke, ki se razlikujejo od datotek v ciljni mapi

Če želite preklicati kopiranje enakih datotek, uporabite možnost -c, da preverite kontrolne vsote datotek. To vam bo omogočilo, da iz postopka kopiranja izključite tiste datoteke, ki so že v ciljni mapi

rsync -azrс --progress /home/user/Desktop/ boxxxx@boxxxx.introserv.cloud:/remote_folder/

Videli boste, da so bile v oddaljeno mapo kopirane le 3 datoteke, razen datoteke test.odt, ki je že v oddaljeni shrambi:

Uporaba programa Rsync prek SSH z nestandardnimi vrati SSH

Če želite prenesti datoteke iz strežnika ali v strežnik s spremenjenimi vrata SSH, uporabite možnost -e 'ssh -p port_number'

Ukaz za kopiranje datoteke v strežnik, v katerem so vrata SSH spremenjena na 44, bo videti takole:

rsync -azrс --progress -e 'ssh -p44' /home/user/Desktop/ user@server_ip:/remote_folder/

How useful was this article?

VAT

  • Other

    Other

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    %
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • Other
  • canada
  • poland
  • european-union
  • france
  • germany
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria