Kuidas kasutada Rsynci uute või muudetud/muudetud failide sünkroonimiseks Linuxis


Süsteemiadministraatori või Linuxi energiatarbijana olete tõenäoliselt kohanud või isegi mitmel korral kasutanud mitmekülgset Linuxi Rsynci tööriista, mis võimaldab kasutajatel faile kiiresti kohalikult ja kaugelt kopeerida või sünkroonida. See on ka suurepärane tööriist, mida rahva hulgas kasutatakse varundamise ja peegeldamise jaoks.

Mõned selle silmapaistvad omadused ja eelised hõlmavad järgmist: see on erakordselt mitmekülgne, kuna suudab kopeerida lokaalselt kaugkesta või kaugsünkroonimisse, samuti on see märkimisväärselt paindlik, võimaldades kasutajatel määrata mis tahes arvu faile kopeerimiseks.

Lisaks võimaldab see linkide, seadmete, failide või kataloogide omanike, rühmade ja lubade kopeerimist. Samuti toetab see kasutamist ilma juurõigusteta koos paljude muudega.

Üks rsynci hädavajalik erinevus võrreldes teiste Linuxis faile lohutavate käskudega on kauguuenduse protokolli kasutamine, et edastada ainult failide või kataloogide sisu vahe.

Seetõttu uurime selles artiklis, kuidas rsync aitab meil ainult uute või muudetud failide või kataloogide sisu sünkroonida, tehes varukoopiaid ja kaugemale Linuxis.

Alustuseks peate meeles pidama, et rsynci tavapärane ja kõige lihtsam vorm on järgmine:

# rsync options source destination 

Sellest hoolimata uurigem mõnda näidet, et avastada, kuidas ülaltoodud mõiste tegelikult töötab.

Failide sünkroonimine lokaalselt Rsynci abil

Kasutades allolevat käsku, saan failid oma dokumendikataloogist kohalikult/tmp/dokumentide kataloogi kopeerida:

$ rsync -av Documents/* /tmp/documents

Ülaltoodud käsus on valik:

  1. -a - tähendab arhiivirežiimi
  2. -v - tähendab paljusõnalist, mis näitab käimasolevate toimingute üksikasju

Vaikimisi kopeerib rsync ainult uued või muudetud failid allikast sihtkohta. Kui lisan uue faili kataloogi Dokumendid, juhtub see sama käsu teise käivitamise järel:

$ rsync -av Documents/* /tmp/documents

Nagu saate käsu väljundist jälgida ja märgata, kopeeritakse sihtkataloogi ainult uus fail.

Valikuga --update või -u saab rsync vahele jätta failid, mis on sihtkohakataloogis veel uued, ja ühe olulise valiku --dry-run või -n võimaldavad meil teha testitoimingu muudatusi tegemata. See näitab meile, milliseid faile tuleb kopeerida.

$ rsync -aunv Documents/* /tmp/documents

Pärast testisõidu sooritamist saame seejärel lõpetada -n ja teha reaalse toimingu:

$ rsync -auv Documents/* /tmp/documents

Failide sünkroonimine kohalikust kaug-Linuxi

Allpool toodud näites kopeerin failid oma kohalikust masinast kaugseadmesse IP-aadressiga - 10.42.1.5. Selleks et sünkroonida kohalikus masinas ainult uusi faile, mida kaugmasinas pole, võime lisada valiku --ignore-existing

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

Seejärel, et sünkroonida ainult kaugmasinas olevad värskendatud või muudetud failid, mis on kohalikus arvutis muutunud, võime enne failide kopeerimist järgmiselt toimida järgmiselt:

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

Olemasolevate failide värskendamiseks ja sihtkohas uute failide loomise vältimiseks kasutame valikut --existing .

Võite kasutada lehte rsync man , et leida täiendavaid kasulikke võimalusi täpsemaks kasutamiseks, nagu ma juba varem mainisin, on rsync väga võimas ja mitmekülgne Linuxi tööriist ning paljud süsteemiadministraatorid ja Linuxi kasutajad teavad lihtsalt kui soodne see on.

Kõige tähtsam on see, et saate jagada ka oma vaadet siin käsitletud näidete kohta või veelgi parem - pakkuda meile allpool kommentaaride jaotises väärtuslikke näpunäiteid selle elulise käsurea tööriista kasutamise kohta.