Kaip naudoti Rsync sinchronizuoti naujus arba pakeistus/pakeistus failus sistemoje Linux


Kaip sistemos administratorius arba „Linux“ patyręs vartotojas tikriausiai susidūrėte ar net kelis kartus naudojote universalų „Linux Rsync“ įrankį, kuris leidžia vartotojams greitai kopijuoti arba sinchronizuoti failus vietoje ir nuotoliniu būdu. Tai taip pat puikus įrankis, plačiai naudojamas atsarginėms operacijoms ir atspindėjimui.

Kai kurios jo išskirtinės savybės ir pranašumai yra: jis yra išskirtinai universalus, nes gali kopijuoti vietoje, į/iš nuotolinio apvalkalo arba nuotolinio rsync, jis taip pat yra nepaprastai lankstus, leidžiantis vartotojams nurodyti bet kokį failų, kuriuos reikia kopijuoti, skaičių.

Siūlomas skaitymas: 10 praktinių „Rsync“ komandos pavyzdžių sistemoje „Linux“

Be to, tai leidžia kopijuoti nuorodas, įrenginius, failų ar katalogų savininkus, grupes ir leidimus. Tai taip pat palaiko naudojimą be root teisių ir daug daugiau.

Vienas iš būtinų rsync skirtumų, palyginti su kitomis „Linux“ failų kopijavimo komandomis, yra nuotolinio atnaujinimo protokolo naudojimas, perkeliant tik skirtumus tarp failų ar katalogo turinio.

Todėl šiame straipsnyje išnagrinėsime, kaip „rsync“ gali padėti mums sinchronizuoti tik naujus arba pakeistus failus arba katalogų turinį kuriant atsargines kopijas ir ne tik sistemoje „Linux“.

Pirmiausia turite atsiminti, kad įprasta ir paprasčiausia rsync naudojimo forma yra tokia:

rsync options source destination 

Be to, pasinerkime į keletą pavyzdžių, kad išsiaiškintume, kaip iš tikrųjų veikia aukščiau pateikta koncepcija.

Vietinis failų sinchronizavimas naudojant Rsync

Naudodami toliau pateiktą komandą, kad galėtumėte kopijuoti failus iš katalogo Dokumentai į /tmp/documents katalogą vietoje:

rsync -av Documents/* /tmp/documents

Aukščiau esančioje komandoje yra parinktis:

  1. -a – reiškia archyvavimo režimą
  2. -v – reiškia išsamią informaciją, rodančią vykdomų operacijų informaciją

Pagal numatytuosius nustatymus rsync kopijuoja tik naujus arba pakeistus failus iš šaltinio į paskirties vietą, kai į savo katalogą Dokumentai pridedu naują failą, tai nutinka paleidus tą pačią komandą antrą kartą:

rsync -av Documents/* /tmp/documents

Kaip galite pastebėti ir pastebėti iš komandos išvesties, į paskirties katalogą nukopijuojamas tik naujas failas.

Siūlomas skaitymas: kaip sinchronizuoti du Apache žiniatinklio serverius/svetaines naudojant Rsync

Parinktis ---update arba -u leidžia rsync praleisti failus, kurie vis dar nauji paskirties kataloge, ir vieną svarbią parinktį --dry-run arba -n leidžia atlikti bandomąją operaciją neatliekant jokių pakeitimų. Tai mums parodo, kokius failus reikia kopijuoti.

rsync -aunv Documents/* /tmp/documents

Atlikę bandomąjį paleidimą, galime atsisakyti -n ir atlikti tikrą operaciją:

rsync -auv Documents/* /tmp/documents

Failų sinchronizavimas iš vietinio į nuotolinį „Linux“.

Toliau pateiktame pavyzdyje kopijuoju failus iš vietinio įrenginio į nuotolinį serverį su IP adresu 10.42.1.5. Kad vietiniame kompiuteryje būtų sinchronizuojami tik nauji failai, kurių nėra nuotoliniame kompiuteryje, galime įtraukti parinktį ---ignore-existing:

rsync -av --ignore-existing Documents/* [email :~/all/

Vėliau, norėdami sinchronizuoti tik atnaujintus arba pakeistus failus nuotoliniame kompiuteryje, kurie pasikeitė vietiniame kompiuteryje, prieš kopijuodami failus galime atlikti sausą paleidimą, kaip nurodyta toliau:

rsync -av --dry-run --update Documents/* [email :~/all/
rsync -av --update Documents/* [email :~/all/

Norėdami atnaujinti esamus failus ir neleisti kurti naujų failų paskirties vietoje, naudojame parinktį --existing.

Galite paleisti puslapį man rsync ir atrasti papildomų naudingų išplėstinio naudojimo parinkčių, kaip jau minėjau anksčiau, rsync yra labai galingas ir universalus Linux įrankis, o daugelis sistemų Administratoriai ir „Linux“ vartotojai žino, kaip tai naudinga.

Svarbiausia, kad toliau pateiktoje komentarų skiltyje galite pasidalyti savo nuomone apie pavyzdžius, kuriuos aptarėme čia, arba, dar geriau, pasiūlykite vertingų patarimų, kaip naudoti šį svarbų komandų eilutės įrankį.