Kako uporabiti Rsync za sinhronizacijo novih ali spremenjenih/spremenjenih datotek v Linuxu


Kot skrbnik sistema ali izkušeni uporabnik Linuxa ste verjetno že večkrat naleteli ali celo večkrat uporabili vsestransko orodje Linux Rsync, ki uporabnikom omogoča hitro kopiranje ali sinhronizacijo datotek lokalno in na daljavo. Je tudi odlično orodje, ki se popularno uporablja za varnostno kopiranje in zrcaljenje.

Nekatere njegove ugledne značilnosti in prednosti vključujejo; je izjemno vsestranski, saj lahko kopira lokalno, v/iz oddaljene lupine ali oddaljene rsync, hkrati pa je izjemno prilagodljiv in uporabnikom omogoča, da določijo poljubno število datotek za kopiranje.

Poleg tega dovoljuje kopiranje povezav, naprav, lastnika datotek ali imenikov, skupin in dovoljenj. Podpira tudi uporabo brez korenskih pravic skupaj s številnimi drugimi.

Nujna razlika rsync v primerjavi z drugimi ukazi za kopiranje datotek v Linuxu je uporaba protokola oddaljenega posodabljanja za prenos samo razlike med datotekami ali vsebino imenika.

Zato bomo v tem članku preučili, kako nam lahko rsync pomaga pri sinhronizaciji novih ali spremenjenih datotek ali vsebine imenika med varnostnim kopiranjem in ne le v Linuxu.

Za začetek ne pozabite, da je običajna in najpreprostejša oblika uporabe rsync naslednja:

# rsync options source destination 

Kljub temu se poglobimo v nekaj primerov, da razkrijemo, kako zgoraj navedeni koncept dejansko deluje.

Lokalna sinhronizacija datotek z uporabo Rsync

S pomočjo spodnjega ukaza lahko lokalno kopiram datoteke iz imenika Documents v/tmp/documents directory:

$ rsync -av Documents/* /tmp/documents

V zgornjem ukazu možnost:

  1. -a - pomeni način arhiviranja
  2. -v - pomeni podroben prikaz podrobnosti o tekočih operacijah

Privzeto rsync kopira samo nove ali spremenjene datoteke iz vira na cilj, ko dodam novo datoteko v svoj imenik dokumentov, se to zgodi po drugem zagonu istega ukaza:

$ rsync -av Documents/* /tmp/documents

Kot lahko opazite in opazite iz izhoda ukaza, se v ciljni imenik kopira samo nova datoteka.

Možnost --update ali -u omogoča rsync preskočiti datoteke, ki so še vedno nove v ciljnem imeniku, in eno pomembno možnost, --dry-run ali -n nam omogoča izvajanje preizkusne operacije brez kakršnih koli sprememb. Pokaže nam, katere datoteke je treba kopirati.

$ rsync -aunv Documents/* /tmp/documents

Po izvedbi poskusnega zagona lahko nato odpravimo -n in izvedemo pravo operacijo:

$ rsync -auv Documents/* /tmp/documents

Sinhronizacija datotek z lokalnega na oddaljeni Linux

V spodnjem primeru kopiram datoteke iz lokalnega računalnika v oddaljeni sever z naslovom IP - 10.42.1.5. Za sinhronizacijo samo novih datotek na lokalnem računalniku, ki ne obstajajo na oddaljenem računalniku, lahko vključimo možnost --ignore-existing :

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

Za sinhronizacijo samo posodobljenih ali spremenjenih datotek na oddaljenem računalniku, ki so se spremenile na lokalnem računalniku, lahko pred kopiranjem datotek izvedemo suh zagon, kot je prikazano spodaj:

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

Za posodobitev obstoječih datotek in preprečitev ustvarjanja novih datotek na cilju uporabimo možnost --existing .

Skozi stran rsync man lahko poiščete še uporabne možnosti za napredno uporabo, kot sem že omenil, rsync je zelo zmogljivo in vsestransko orodje za Linux in mnogi sistemski skrbniki in izkušeni uporabniki Linuxa vedo le kako ugodno je.

Najpomembneje pa je, da lahko delite svoj pogled na primere, ki smo jih obravnavali tukaj, ali še bolje, ponudite nam dragocene nasvete o uporabi tega ključnega orodja ukazne vrstice v spodnjem oddelku za komentarje.