Koduleht » kuidas » Kuidas kasutada rsync'i andmete varundamiseks Linuxis

    Kuidas kasutada rsync'i andmete varundamiseks Linuxis

    rsync on Unixi sarnaste süsteemide jaoks loodud protokoll, mis annab uskumatu mitmekülgsuse andmete varundamiseks ja sünkroonimiseks. Seda saab kasutada kohalikult, et varundada faile erinevatesse kataloogidesse või konfigureerida sünkroonima Interneti kaudu teistele hostidele.

    Seda saab kasutada Windowsi süsteemides, kuid see on saadaval ainult erinevate sadamate kaudu (näiteks Cygwin), nii et me räägime sellest, kuidas seda Linuxis seadistada. Esiteks peame rsync kliendi installima / uuendama. Red Hat jaotustes on käsk "yum install rsync" ja Debianis on see "sudo apt-get install rsync."


    Red Hat / CentOS käsk pärast sisselogimist juurena (pange tähele, et mõned Red Hat'i jaotused toetavad sudo meetodit).


    Käsk Debian / Ubuntu.

    Rsynci kasutamine kohalike varukoopiate tegemiseks

    Selle juhendi esimeses osas varundame failid kataloogist1 kataloogi2. Mõlemad kataloogid asuvad samas kõvakettal, kuid see toimiks täpselt siis, kui kataloogid oleksid olemas kahel erineval draivil. Sellele lähenemiseks on mitu erinevat viisi, sõltuvalt sellest, milliseid varukoopiaid soovite konfigureerida. Enamikel juhtudel piisab järgmistest ridadest:

    $ rsync -av --delete / Directory1 / / Kataloog2 /

    Ülaltoodud kood sünkroniseerib Directory1 sisu kataloogiga2 ja ei jäta nende kahe vahel erinevusi. Kui rsync leiab, et Directory2-l on fail, mida Directory1 ei tee, kustutab see selle. Kui rsync leiab kataloogist1 muudetud, loodud või kustutatud faili, kajastab see neid samu muudatusi kausta2.

    Rsyncil on palju erinevaid lüliteid, et seda isikupärastada teie konkreetsete vajadustega. Siin on see, mida ülalnimetatud kood rsyncile varundustega teeb:

    1. -a = rekursiivne (kordub kataloogidesse), lingid (sümbolite kopeerimine sümbolitena), perms (säilita õigused), ajad (säilitamisaja muutmine), rühm (säilitama rühma), omanik (säilitama omanikku), seadme failide säilitamine ja säilitada erifaile.
    2. -v = verbose. Põhjus, miks ma arvan, et verbose on oluline, on see, et näete täpselt, mida rsync varundab. Mõtle sellele: Mis siis, kui teie kõvaketas läheb halvasti ja hakkab faile ilma teie teadmata kustutama, siis käivitate oma rsync skripti ja see surub need muudatused varukoopiatesse, kustutades seeläbi kõik failid, mida sa ei soovinud saada lahti?
    3. -delete = See ütleb rsyncile kustutada kõik kataloogis2 olevad kataloogid, mis ei ole kataloogis1. Kui otsustate seda võimalust kasutada, soovitan ülaltoodud põhjustel kasutada ka verbose valikuid.

    Kasutades ülaltoodud skripti, kuvatakse siin väljund, mis saadakse rsync abil kataloogi1 kataloogi2 varundamiseks. Pange tähele, et ilma verbose lülitita ei saa te sellist üksikasjalikku teavet.

    Ülaltoodud ekraanipilt ütleb meile, et File1.txt ja File2.jpg tuvastati kas kataloogis2 olevate koopiatega uutena või muul moel, ja seega olid need varundatud. Noobi näpunäide: märkige rsync-käsu kataloogide lõpus olevad trajektoorid - need on vajalikud, pidage meeles neid kindlasti.

    Me läheme veel mõne käepärase lüliti poole selle juhendi lõpus, kuid pea meeles pidama, et täieliku nimekirja nägemiseks saate sisestada “man rsync” ja vaadata täielikku kasutatavate lülitite loendit.

    See katab selle nii palju kui kohalikud varukoopiad. Nagu öelda, on rsync'i kasutamine väga lihtne. See muutub mõnevõrra keerukamaks, kui kasutate seda välise hostiga interneti kaudu andmete sünkroonimiseks, kuid me näitame teile lihtsat, kiiret ja turvalist viisi seda teha.

    Rsynci kasutamine väliste varukoopiate tegemiseks

    rsync saab konfigureerida mitmel erineval viisil väliste varukoopiate tegemiseks, kuid me läheme üle kõige praktilisema (ka kõige lihtsama ja kõige turvalisema) meetodi SSH kaudu rsynci tunneldamiseks. Enamikul serveritel ja isegi paljudel klientidel on juba SSH ja seda saab kasutada teie rsync varundamiseks. Näitame teile protsessi, kuidas üks Linuxi masin teise kohaliku võrguga varundada. Protsess oleks sama, kui üks võõrustaja oleks kusagil internetis välja tulnud, märkige, et sadam 22 (või mis tahes port, millel on SSH konfigureeritud), tuleb edastada mis tahes võrguseadmetes serveri poolel..

    Veenduge, et serveris (arvuti, mis võtab vastu varukoopiaid) veenduge, et SSH ja rsync on installitud.

    # yum -y installige ssh rsync

    # sudo apt-get install ssh rsync

    Muud kui SSH ja rsync installimine serverisse, on kõik, mis on vaja teha, seadistada serveri hoidlad, kuhu soovite failid varundada, ja veenduge, et SSH on lukustatud. Veenduge, et kasutajal, keda plaanite kasutada, on keeruline parool ja võib olla hea mõte lülitada ka SSH kuulatav port (vaikimisi 22).

    Käivitame sama käsu, mida tegime rsynci kasutamisel kohalikus arvutis, kuid lisame vajalikud täiendused SSH kaudu rsynci tunneldamiseks minu kohaliku võrgu serverisse. Kasutajale „geek”, mis ühendab “192.168.235.137” ja kasutab samu lülitusi nagu eespool (-av -delete), käivitame järgmise:

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

    Kui teil on SSH kuulamine mõnes muus porti kui 22, peate määrama pordi numbri, näiteks selles näites, kus kasutan porti 12345:

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

    Nagu näete ülaltoodud pildist, on võrgu kaudu varundamisel antud väljund üsna sama, mis kohaliku varundamise korral, mis on ainus asi, mida muudatused kasutavad. Pange tähele, et see palus parooli. See on autentimine SSH-ga. Selle protsessi vahelejätmiseks saate seadistada RSA-võtmed, mis lihtsustab ka rsynci automatiseerimist.

    Rsynci varukoopiate automatiseerimine

    Cronit saab Linuxis kasutada käskude, nagu rsync, automatiseerimiseks. Kasutades Cronit, saame meie Linuxi süsteemi käivitada öösel varukoopiaid või sageli soovid neid käivitada.

    Cron tabeli faili redigeerimiseks kasutajale, kellele olete sisse loginud, käivitage:

    $ crontab -e

    Selle faili muutmiseks peate vi vi olema tuttav. Sisestage sisestamiseks “I” ja alustage seejärel cron tabeli faili muutmist.

    Cron kasutab järgmist süntaksit: tunni tund, päeva tunnid, kuu kuu, aasta kuu, nädalapäev, käsk.

    Alguses võib see olla natuke segane, nii et lubage mul anda teile näide. Järgmine käsk käivitab rsync käsu igal õhtul kell 22:

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

    Esimene "0" määrab tunni minuti ja "22" määrab 10 PM. Kuna me tahame, et see käsk käivitataks iga päev, jätame ülejäänud väljad tärnidega ja seejärel kleepitakse rsync-käsk.

    Kui olete Croni konfigureerimise lõpetanud, vajutage põgenemist ja seejärel tippige “: wq” (ilma jutumärkideta) ja vajutage enter. See salvestab teie muudatused vi.

    Cron võib sellest palju põhjalikumalt saada, kuid edasi minna oleks sellest juhendist väljapoole. Enamik inimesi tahab lihtsalt lihtsat iganädalast või igapäevast varukoopiat ning seda, mida oleme näidanud, saate selle hõlpsasti saavutada. Lisateavet Croni kohta leiate mehe lehekülgedelt.

    Muud kasulikud funktsioonid

    Teine kasulik asi, mida saate teha, on panna varukoopiad zip-faili. Peate täpsustama, kuhu soovite zip-faili paigutada, ja seejärel rsynccc see kataloog oma varukataloogi. Näiteks:

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

    Ülaltoodud käsk võtab failid kataloogist1, asetab need /ZippedFiles/archive.zip-sse ja seejärel selle kataloogi kataloogi2. Esialgu võite arvata, et see meetod osutub suurte varukoopiate jaoks ebaefektiivseks, arvestades, et zip-fail muutub iga kord, kui faili vähimatki muudatust tehakse. Siiski edastab rsync ainult muudetud andmed, nii et kui teie zip-fail on 10 GB ja seejärel lisate kataloogi 1 tekstifaili, siis rsync teab, et see on kõik, mida olete lisanud (kuigi see on zipis) ja edastab ainult mõned kilobaidid muutunud andmetest.

    Rsynci varukoopiate krüptimiseks on paar erinevat võimalust. Lihtsaim viis on paigaldada krüpteerimine kõvakettale (see, mida failid varundatakse). Teine võimalus on failide krüpteerimine enne serverisse saatmist (või muud kõvaketast, olenemata sellest, mida sa varundad). Me katame need meetodid hilisemates artiklites.

    Sõltumata sellest, milliseid valikuid ja funktsioone te valite, osutub rsync üheks kõige tõhusamaks ja mitmekülgsemaks varundamisvahendiks ning isegi lihtne rsync-skript võib teie andmeid kaotada.