miten rsynciä käytetään esimerkkien kanssa

Rsync on suosittu työkalu tiedostojen synkronointiin sekä paikallisesti että etänä. Toisin kuin muut synkronointityökalut, rsync käyttää mielenkiintoista algoritmia, joka minimoi kaistanleveyden kulutuksen. Se yksinkertaisesti siirtää osan tiedoston (s), jotka ovat muuttuneet.

se on tehokas apuohjelma, joka voi palvella monissa tilanteissa. Tässä artikkelissa esittelen, miten päästä alkuun rsync esittelyn. Mielenosoitus suoritetaan Ubuntu 18.04.

Rsync

Rsync tulee sanoista remote sync. Nimestään huolimatta se pystyy käsittelemään tiedostojen synkronointia etänä ja paikallisesti. Termiä rsync käytetään myös tarkoittamaan rsync-protokollaa, jota rsync käyttää synkronointiin. Tässä artikkelissa rsync tarkoittaa aina työkalua, ei protokollaa.

pelkän suosionsa vuoksi rsync on saatavilla lähes joka ikiselle Linux-ja UNIX-tyyppiselle järjestelmälle. On hyvin mahdollista, että se tulee esiasennettuna. Jos ei, tee hieman tutkimusta siitä, miten asentaa rsync järjestelmään.

tässä on lyhyt lista rsyncin tarjoamista ominaisuuksista.

  • hakemiston kopiointi
  • Easy backup configuration
  • voi toimia SSH: n yli
  • voi suorittaa daemon/server
  • Tiedostojen käyttöoikeuksien säilyttämisen

Rsync: n käytön

ennen rsync: hen hyppäämistä, tarvitsemme joitain dummy-tiedostoja työstettäväksi. Luodaan ensin valehakemisto.

$ mkdir-V primary

kun on luotu, on aika luoda kourallinen dummy-tiedostoja. Luodakseni tiedoston, käytän touch-komentoa. Lue lisää touch-komennosta.

$ touch dummy{1..20}

Voila! Olemme nyt valmiita käyttämään rsync suorittaa toimia käyttämällä näitä valetiedostoja.

Rsync-komentorakenne

Rsync käyttää seuraavaa komentorakennetta

$ rsync <option><src><destination>

sync paikalliset hakemistot

nyt on aika käyttää rsync: tä tiedostojen synkronointiin useassa kohteessa. Tässä esimerkissä synkronoimme dir_primaryn sisällön dir_targetiin.

$ mkdir-v target

Käske rsyncin synkronoida molempien kansioiden sisällöt.

$ rsync-v-r primary/target

tässä on käytetty kahta eri argumenttia.

-v: kertoo rsync: n ajautuvan verboositilaan
-r: Rekursiiviseen tilaan, jota tarvitaan hakemistojen synkronointiin.

seuraavassa esimerkissä käytetään eri lippua.

$ rsync-v-a primary/target

-a: yhdistelmälippu, joka tulee sanoista ”archive”.

käyttämällä tätä lippua rsync synkronoi sisällön rekursiivisesti säilyttäen samalla symboliset, erityiset / laitetiedostot, muutosajat, tiedostojen käyttöoikeudet, ryhmän, omistajan jne. Sitä käytetään yleisemmin kuin ”-r” – lippua. Arkistoinnissa tämä on suositeltavampi menetelmä.

huomasitko, että kaikissa tähän mennessä ajamissamme komennoissa lähdekoodin tapauksessa säilytämme aina hakemiston nimen jälkeen”/”? Tämä kertoo rsync: lle, että lähde on kaikki lähdehakemiston sisältö. Jos lähdehakemiston lopussa olevaa ” / ” – merkkiä ei käytetä, rsync yksinkertaisesti luo kopion lähdehakemistosta sen sisällön sijaan.

tarkastetaan se esimerkin avulla.

$ rsync-v-a primary target

Tarkista tulostulos.

$ tree target /

useimmiten tätä ei tarvita. Tilanteesta riippuen siitä voi kuitenkin olla hyötyä.

Rsync test run

ennen rsync-komennon ajamista on aina tärkeää varmistaa, että komento suorittaa toiminnon odotetusti. Jos haluat testata rsync-toimintoa tietylle komennolle, käytä lippua”- n ”tai”- dry-run”.

$ rsync-avn primary/ target

$ rsync-avn primary target

p>

tässä tuloste näyttää, mitä rsync suorittaisi, jos komento todella suoritettaisiin. Aina kun olet testaus, älä unohda käyttää” – v ” lippu saada tarkka esitys siitä, mitä tapahtuu.

Rsync yli etäyhteyden

Tämä on toinen mielenkiintoinen ominaisuus rsync tukee. Jos varmuuskopiointisi sijainti on jossain kaukana, voit helposti määrittää rsync suorittaa varmuuskopioinnin kauko-sijainnin kautta SSH. Molemmissa koneissa on kuitenkin oltava rsync asennettuna. Lisäksi molemmissa järjestelmissä on myös oltava SSH-avaimet.

valmis? Aloitetaan. Aluksi se on arkiston synkronointia.

$ rsync-a <local_dir><käyttäjätunnus>@<remote_host><
destination_dir>

täällä tämä operaatio on kutsutaan ”push”, koska se työntää hakemiston paikallisesta järjestelmästä etäjärjestelmään. Vastakohta tunnetaan nimellä ”pull”.

$ rsync-a <käyttäjätunnus><remote_host><source_dir><local_dir>

rsync käsittelee ensimmäistä argumenttia lähde, toinen määränpää.

hyödyllisiä rsync-vaihtoehtoja

Rsync tukee useita vaihtoehtoja. Ne kaikki palvelevat omaa tarkoitustaan. Niitä käytetään kuitenkin useimmiten vain kourallinen. Tässä osiossa, Katsotaanpa katsomaan joitakin hyödyllisiä rsync vaihtoehtoja.

useimmiten synkronoitavat tiedostot eivät ole pakattuja. Puristuksen avulla voit säästää sekä aikaa että kaistanleveyttä hieman lisätehon kustannuksella. Rsync tarjoaa pakkausta oletuksena. Pakatun synkronoinnin suorittamiseen käytetään” – z ” – lippua.

$ rsync-avz <source><destination> destination >

tämä mielenkiintoinen lippu yhdistää sekä ”- progress”- että ”- partial ” – lipun funktion. Ensimmäinen on näyttää siirron etenemispalkki ja toinen on mahdollistaa keskeytyneen siirron jatkaminen. Molemmat ominaisuudet yhdistetään ”- P ” – lippuun.

$ rsync -avzP <source><destination>

Now, let’s check out how rsync handles file syncing intelligently. Run the previous command again.

$ rsync-avzP <source><destination> destination >

täällä rsync ei ladannut kaikkia tiedostoja uudelleen. Sen sijaan se ohitti ne, jotka eivät muuttuneet lainkaan. Tässä esimerkissä, se ohitti kaikki tiedostot, koska ne kaikki ovat läsnä kohdehakemistossa.

Mitä jos poistit tiedoston lähdehakemistosta? Oletuksena rsync ei poista mitään kohdehakemistosta. Pakottaaksesi rsyncin poistamaan tiedostoja, käytä” – delete ” – lippua. Käytä kuitenkin kuiva-ajoa testataksesi, toimiiko komento kuten haluat.

$ rsync-avn –delete <source><destination> destination >

oletuksena rsync synkronoi jokaisen tiedoston / kansion lähteestä kohdehakemistoon. Tietyissä tilanteissa haluat ehkä sisällyttää / sulkea tietyt tiedostot synkronoinnin ulkopuolelle. Rsync tarjoaa käteviä vaihtoehtoja, kuten ” – exclude ”ja” –include ” sulkea/sisällyttää tiettyjä tiedostoja. Siirrä tiedostokuvio näiden argumenttien arvoksi.

$ rsync-avn –exclude=<pattern> –include=<pattern>

voit myös määritellä suurimman tiedostokoon, jonka rsync synkronoi. Voit tehdä sen käyttämällä”-max-size ” – lippua, jota seuraa tiedostokoko.

$ rsync-avn –max-size=”10K”<source><destination>

rsyncin hihassa on toinenkin mielenkiintoinen piirre. Ei enää tarvitse lähdetiedostoa synkronoinnin jälkeen? Rsync voi tehdä sen, ei ongelmaa. Varmista kuitenkin, että et suorita rsync: tä ”-delete” – lipulla. Muussa tapauksessa rsync poistaa synkronoidut tiedostot kohteesta!

$ rsync-av –remove-source-files <source><destination>

lopulliset ajatukset

nämä ovat vain joitain yleisiä ja yksinkertaisia rsync: n käytön skenaarioita. Se tarjoaa paljon enemmän. Rsync-toiminnot on mahdollista automatisoida joko rsync-Daemonin tai muun skriptauksen avulla. Toivottavasti tästä oppaasta oli apua rsync: n aloittamisessa.

Kiinnostaako lisää rsync? Voit käyttää rsync: tä kopiokoneena. Se on tehokkaampi ja älykkäämpi kuin cp. Tarkemmat ominaisuudet ja käyttö löytyvät rsync man-sivulta.

$ man rsync

Enjoy!



Vastaa

Sähköpostiosoitettasi ei julkaista.