Kotisivu » miten » Rsyncin käyttäminen tietojen varmuuskopioimiseksi Linuxissa

    Rsyncin käyttäminen tietojen varmuuskopioimiseksi Linuxissa

    rsync on Unixin kaltaisiin järjestelmiin rakennettu protokolla, joka tarjoaa uskomattoman monipuolisuuden tietojen varmuuskopiointiin ja synkronointiin. Sitä voidaan käyttää paikallisesti tiedostojen varmuuskopioimiseen eri hakemistoihin tai se voidaan määrittää synkronoimaan Internetiä muihin isäntiin.

    Sitä voidaan käyttää Windows-järjestelmissä, mutta se on saatavana vain eri porttien (kuten Cygwin) kautta, joten tässä yhteydessä puhumme siitä, miten se muodostetaan Linuxissa. Ensinnäkin meidän on asennettava / päivitettävä rsync-asiakas. Red Hat -jakeluissa komento on "yum install rsync" ja Debianissa se on "sudo apt-get install rsync."


    Red Hat / CentOS -komento, kun olet kirjautunut juureksi (huomaa, että jotkin Red Hat -versiot tukevat sudo-menetelmää).


    Debian / Ubuntu-komento.

    Rsyncin käyttäminen paikallisten varmuuskopioiden varalta

    Tämän oppaan ensimmäisessä osassa varmuuskopioimme tiedostot Directory1: stä Directory2: een. Molemmat hakemistot ovat samalla kiintolevyllä, mutta tämä toimisi täsmälleen samalla tavalla, jos hakemistot olisivat olemassa kahdessa eri asemassa. Tähän voidaan lähestyä useita eri tapoja sen mukaan, millaisia ​​varmuuskopioita haluat määrittää. Useimmissa tapauksissa seuraavan koodirivin riittää:

    $ rsync -av --delete / Directory1 / / Hakemisto2 /

    Yllä oleva koodi synkronoi Directory1: n sisällön hakemistoon2 ja ei jätä eroja näiden kahden välillä. Jos rsync toteaa, että Directory2: ssa on tiedosto, jota Directory1 ei toimi, se poistaa sen. Jos rsync löytää tiedoston, joka on muutettu, luotu tai poistettu Directory1: stä, se heijastaa samoja muutoksia hakemistoon2.

    Rsync-sovelluksessa on paljon erilaisia ​​kytkimiä, joiden avulla voit mukauttaa sen omiin tarpeisiisi. Tässä on, mitä edellä mainittu koodi kertoo rsyncille varmuuskopioiden kanssa:

    1. -a = rekursiivinen (toistuva hakemistoon), linkit (kopioi symboleja symboleina), perms (säilyttää oikeudet), ajat (säilyttää muutosajat), ryhmä (säilytä ryhmä), omistaja (säilyttää omistajan), säilyttää laitteen tiedostot ja säilyttää erityisiä tiedostoja.
    2. -v = verbose. Syy, miksi mielestäni verbose on mielestäni tärkeä, on se, että näet tarkalleen, mitä rsync varmuuskopioi. Ajattele tätä: Mitä jos kiintolevysi menee huonosti, ja alkaa poistaa tiedostoja ilman tietosi, sitten suoritat rsync-komentosarjan ja se työntää muutokset varmuuskopioihisi poistamalla kaikki tiedostot, joita et halunnut eroon?
    3. -delete = Tämä kertoo rsyncin poistamaan kaikki Directory2: ssa olevat tiedostot, jotka eivät ole Directory1: ssä. Jos päätät käyttää tätä vaihtoehtoa, suosittelen myös edellä mainittujen syiden vuoksi verbose-vaihtoehtoja.

    Käyttäen yllä olevaa komentosarjaa, tässä on tuotos, joka on tuotettu käyttämällä rsync-ohjelmaa varmuuskopioimaan Directory1-kansioon Directory2. Huomaa, että ilman verbose-kytkintä et saa tällaista yksityiskohtaista tietoa.

    Yllä oleva kuvakaappaus kertoo meille, että File1.txt ja File2.jpg havaittiin joko uusiksi tai muuten muutetuiksi Directory2: ssa olevista kopioista, ja näin ollen ne varmuuskopioitiin. Noob-vihje: Huomaa, että rsync-komennossasi olevien hakemistojen lopussa olevat jälkikatkokset ovat välttämättömiä, muista muistaa ne.

    Siirrymme muutaman kätevän kytkimen päälle tämän oppaan loppuun, mutta muista vain, että voit nähdä täydellisen luettelon kirjoittamalla “man rsync” ja katsomalla täydellisen luettelon käytetyistä kytkimistä.

    Se kattaa sen paikallisten varmuuskopioiden osalta. Kuten voit sanoa, rsync on erittäin helppokäyttöinen. Se on hieman monimutkaisempi, kun sitä käytetään synkronoimaan tietoja ulkoisen isäntäkoneen kautta Internetissä, mutta näytämme sinulle yksinkertaisen, nopean ja turvallisen tavan tehdä se.

    Rsyncin käyttäminen ulkoisiin varmuuskopioihin

    rsync voidaan konfiguroida useilla eri tavoilla ulkoisille varmuuskopioille, mutta siirrymme käytännöllisimmälle (myös helpoin ja turvallisin) menetelmälle tunnistaa rsync SSH: n kautta. Useimmilla palvelimilla ja jopa monilla asiakkailla on jo SSH, ja sitä voidaan käyttää rsync-varmuuskopioihin. Näytämme sinulle prosessin, jolla yksi Linux-laite varmuuskopioidaan toiselle paikallisessa verkossa. Prosessi olisi täsmälleen sama, jos joku isäntä olisi jonnekin Internetissä, huomaa, että portti 22 (tai mikä tahansa portti, johon olet määrittänyt SSH: n) on lähetettävä millä tahansa verkon laitteella palvelimen puolella..

    Varmista palvelimella (tietokone, joka vastaanottaa varmuuskopiot), että SSH ja rsync on asennettu.

    # yum -y asenna ssh rsync

    # sudo apt-get install ssh rsync

    Muut kuin SSH: n ja rsyncin asentaminen palvelimelle, kaikki mitä on todella tehtävä, on määrittää palvelimen säilytyspaikat, joihin haluat varmuuskopioida, ja varmista, että SSH on lukittu. Varmista, että käyttäjällä, jota aiot käyttää, on monimutkainen salasana, ja saattaa olla myös hyvä vaihtaa SSH: n kuuntelema portti (oletus on 22).

    Käydään sama komento, jota teimme rsyncin käyttämiseksi paikallisessa tietokoneessa, mutta siihen sisältyy tarvittavat lisäykset tunnistus rsyncille SSH: n kautta paikallisverkon palvelimelle. Käyttäjä “geek”, joka yhdistää ”192.168.235.137” ja käyttää samoja kytkimiä kuin edellä (-av -delete), suoritetaan:

    $ rsync -av -delete -e ssh / Directory1 / [email protected]: / Hakemisto2 /

    Jos sinulla on SSH: n kuunteleminen muussa portissa kuin 22, sinun on määritettävä portin numero, kuten tässä esimerkissä, jossa käytän porttia 12345:

    $ rsync -av -delete -e 'ssh -p 12345' / Directory1 / [email protected]: / Hakemisto2 /

    Kuten edellä olevasta kuvasta näkyy, verkon kautta varmuuskopioinnin yhteydessä annettu lähtö on melko sama kuin paikallisesti varmuuskopioidessaan, vain muutos on komento, jota käytät. Huomaa myös, että se pyytää salasanaa. Tämän tarkoituksena on todentaa SSH. Voit määrittää RSA-avaimet ohittamaan tämän prosessin, mikä myös helpottaa rsyncin automatisointia.

    Rsync-varmuuskopioiden automatisointi

    Cronia voidaan käyttää Linuxissa automatisoimaan komentojen, kuten rsync, suorittamista. Käyttämällä Cronia voimme saada Linux-järjestelmän ajaa varmuuskopioita, tai usein haluaisit, että ne toimivat.

    Voit muokata kirjautuneen käyttäjän cron-taulukon tiedostoa suorittamalla:

    $ crontab -e

    Sinun täytyy tuntea vi, jotta voit muokata tätä tiedostoa. Kirjoita ”I” lisäykseen ja aloita sitten cron-taulukon tiedoston muokkaaminen.

    Cron käyttää seuraavaa syntaksia: tunnin tunti, päivän tunti, kuukauden kuukausi, vuoden kuukausi, viikonpäivä, komento.

    Se voi aluksi olla hieman sekava, joten haluan antaa teille esimerkin. Seuraava komento suorittaa rsync-komennon joka ilta klo 22: \ t

    0 22 * ​​* * rsync -av --delete / Directory1 / / Hakemisto2 /

    Ensimmäinen "0" määrittelee tunnin minuutin, ja "22" määrittelee 10 PM. Koska haluamme tämän komennon juoksevan päivittäin, jätämme loput kentät tähdellä ja liitä sitten rsync-komento.

    Kun olet suorittanut Cronin määrittämisen, paina paeta ja kirjoita sitten ": wq" (ilman lainausmerkkejä) ja paina enter. Tämä tallentaa muutokset vi.

    Cron voi saada paljon syvällisempää kuin tämä, mutta jatkoa siitä olisi tämän oppaan ulkopuolella. Useimmat ihmiset haluavat vain yksinkertaisen viikoittaisen tai päivittäisen varmuuskopion, ja mitä olemme osoittaneet, voit helposti saavuttaa sen. Lisätietoja Cronista saat man-sivuilta.

    Muita hyödyllisiä ominaisuuksia

    Toinen hyödyllinen asia, jonka voit tehdä, on tehdä varmuuskopiot zip-tiedostoon. Sinun on määritettävä, mihin haluat zip-tiedoston sijoittamisen, ja sitten rsync toista hakemiston varmuuskopiointihakemistoon. Esimerkiksi:

    $ zip /ZippedFiles/archive.zip / Directory1 / && rsync -av --delete / ZippedFiles / / Hakemisto2 /

    Yllä oleva komento ottaa tiedostot Directory1: stä, asettaa ne /ZippedFiles/archive.zip-tiedostoon ja sitten rsyncs-hakemiston Directory2: een. Aluksi saatat ajatella, että tämä menetelmä osoittautuu tehottomaksi suurille varmuuskopioille, koska zip-tiedosto muuttuu joka kerta, kun tiedostoon tehdään pienin muutos. Rsync siirtää kuitenkin vain muutetut tiedot, joten jos zip-tiedosto on 10 Gt ja sitten lisäät tekstitiedoston hakemistoon1, rsync tietää, että kaikki olet lisännyt (vaikka se on zipissa) ja siirrä vain muutama kilotavu muuttuneita tietoja.

    Voit ladata rsync-varmuuskopioita pari eri tavalla. Helpoin tapa on asentaa salaus itse kiintolevylle (tiedosto, jolle tiedostot varmuuskopioidaan). Toinen tapa on salata tiedostosi ennen niiden lähettämistä etäpalvelimeen (tai muuhun kiintolevyyn, mitä tahansa varmuuskopioit). Me katamme nämä menetelmät myöhemmissä artikkeleissa.

    Riippumatta siitä, mitä vaihtoehtoja ja ominaisuuksia valitset, rsync osoittautuu yhdeksi tehokkaimmista ja monipuolisimmista varmuuskopiointityökaluista, ja jopa yksinkertainen rsync-skripti voi säästää tietoja menettämättä.