Pagrindinis » kaip » Kaip naudoti „rsync“ duomenų atsarginėms kopijoms „Linux“

    Kaip naudoti „rsync“ duomenų atsarginėms kopijoms „Linux“

    rsync yra Unix tipo sistemoms sukurtas protokolas, kuris suteikia neįtikėtiną universalumą duomenų atsarginėms kopijoms ir sinchronizavimui. Ją galima naudoti vietiniu būdu, kad būtų galima kurti atsargines failų kopijas į skirtingus katalogus arba konfigūruoti sinchronizuoti internete per kitus kompiuterius.

    Jis gali būti naudojamas „Windows“ sistemose, bet yra prieinamas tik per įvairius prievadus (pvz., „Cygwin“), taigi šiuo klausimu kalbėsime apie tai, kaip jį įdiegti „Linux“. Pirma, turime įdiegti / atnaujinti rsync klientą. „Red Hat“ paskirstymuose komanda yra „yum install rsync“, o „Debian“ - „sudo apt-get install rsync“.


    Red Hat / CentOS komanda po prisijungimo kaip root (atkreipkite dėmesį, kad kai kurie naujausi „Red Hat“ platinimai palaiko sudo metodą).


    „Debian“ / „Ubuntu“ komanda.

    Naudojant rsync vietinėms atsarginėms kopijoms

    Pirmoje šio vadovo dalyje atsargines failų atsargines kopijas sukursime iš katalogo1 į katalogą2. Abu šie katalogai yra tame pačiame standžiajame diske, tačiau tai veiktų taip pat, jei katalogai egzistuotų dviejuose skirtinguose diskuose. Tai galima pasiekti keliais skirtingais būdais, priklausomai nuo to, kokių atsarginių kopijų norite konfigūruoti. Daugeliu atvejų pakanka šios eilutės kodo:

    $ rsync -av --delete / Directory1 / / Katalogas2 /

    Pirmiau nurodytas kodas sinchronizuos Directory1 turinį su Directory2 ir nepaliks skirtumų tarp šių dviejų. Jei rsync nustato, kad Directory2 yra failas, kurio Directory1 nepadeda, jis jį ištrins. Jei rsync suranda failą, kuris buvo pakeistas, sukurtas arba ištrintas kataloge 1, jis atspindi tuos pačius katalogo 2 pakeitimus.

    Yra daug skirtingų jungiklių, kuriuos galite naudoti rsync, kad galėtumėte individualizuoti jį pagal konkrečius poreikius. Štai ką minėtas kodas nurodo rsync daryti su atsarginėmis kopijomis:

    1. -a = rekursyvus (pasikartojantis į katalogus), nuorodos (kopijuoti simbolius kaip simbolius), perms (išsaugoti leidimus), laikai (išsaugoti modifikavimo laiką), grupė (išsaugoti grupę), savininkas (išsaugoti savininką), išsaugoti įrenginio failus ir išsaugoti specialius failus.
    2. -v = verbose. Priežastis, kodėl manau, kad verbozė yra svarbi, yra ta, kad jūs galite tiksliai matyti, kas yra rsync. Pagalvokite apie tai: Ką daryti, jei jūsų kietasis diskas blogas, ir pradeda ištrinti failus be jūsų žinios, tada paleisite „rsync“ scenarijų ir jis verčia tuos pakeitimus į atsargines kopijas, taip ištrindamas visus failo atvejus, kurių nenorėjote gauti atsikratyti?
    3. -delete = Tai nurodo rsync ištrinti visus failus, esančius kataloge Directory2, kurie nėra kataloge1. Jei nuspręsite naudoti šią parinktį, rekomenduoju taip pat naudoti ankstesnes parinktis dėl pirmiau minėtų priežasčių.

    Naudojant aukščiau esantį scenarijų, čia yra išvestis, sukurta naudojant rsync atsarginę katalogo1 atsarginę kopiją katalogui2. Atkreipkite dėmesį, kad be „verbose“ jungiklio negalite gauti tokios išsamios informacijos.

    Viršuje esantis ekranas rodo, kad „File1.txt“ ir „File2.jpg“ buvo aptikti kaip nauji arba kitaip pakeisti iš katalogo2 egzistuojančių kopijų, todėl jie buvo sukurti atsarginėje kopijoje. „Noob“ patarimas: pastebėkite, kad mano rsync komandų katalogų pabaigoje nukreipiami galiniai brūkšniai - būtini, nepamirškite jų prisiminti.

    Mes pereisime per keletą patogesnių perjungimų link šios pamokos pabaigos, bet tiesiog nepamirškite, kad, norėdami pamatyti pilną sąrašą, galite įvesti „man rsync“ ir peržiūrėti išsamų naudojamų jungiklių sąrašą.

    Tai susiję su vietine atsargine kopija. Kaip galite pasakyti, rsync yra labai paprasta naudoti. Jis tampa šiek tiek sudėtingesnis, kai jis naudojamas sinchronizuoti duomenis su išoriniu kompiuteriu per internetą, bet parodysime paprastą, greitą ir saugų būdą tai padaryti.

    Naudojant rsync išorinėms atsarginėms kopijoms

    „rsync“ galima konfigūruoti keliais skirtingais išorinių atsarginių kopijų kūrimo būdais, tačiau mes pereisime per praktiškiausią (taip pat lengviausią ir saugiausią) „rsync“ tunavimo metodą per SSH. Dauguma serverių ir netgi daugelis klientų jau turi SSH ir gali būti naudojami jūsų rsync atsarginėms kopijoms. Parodysime procesą, kuriuo vienas „Linux“ įrenginys bus nukreiptas į kitą vietinį tinklą. Procesas būtų toks pats, jei kažkur vyktų vienas internetas, tiesiog atkreipkite dėmesį, kad 22 prievadą (arba bet kurį prievadą, kuriame turite SSH konfigūraciją), reikės perduoti bet kuriame tinklo įrenginyje serverio pusėje..

    Serveryje (kompiuteryje, kuris gaus atsargines kopijas) įsitikinkite, kad įdiegti SSH ir rsync.

    # yum -y įdiegti ssh rsync

    # sudo apt-get install ssh rsync

    Išskyrus SSH ir rsync diegimą serveryje, viskas, ką reikia padaryti, yra nustatyti serverio saugyklas, kuriose norėtumėte kurti atsargines kopijas, ir įsitikinkite, kad SSH yra užrakintas. Įsitikinkite, kad naudotojui, kurį planuojate naudoti, yra sudėtingas slaptažodis, taip pat gali būti naudinga perjungti SSH klausomą prievadą (numatytasis yra 22).

    Mes atliksime tą pačią komandą, kurią naudojome vietiniame kompiuteryje naudojant „rsync“, bet įtraukėme būtinus papildymus, skirtus rsync tuneliavimui per SSH į serverį mano vietiniame tinkle. Naudotojui „geek“, prijungusiam prie „192.168.235.137“ ir naudojant tuos pačius jungiklius, kaip aukščiau (-av-deleisti), vykdysime šiuos veiksmus:

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

    Jei SSH klausosi kai kuriame kitu nei 22 prievado, jums reikės nurodyti prievado numerį, pvz., Šiame pavyzdyje, kuriame naudoju 12345 prievadą:

    $ rsync -av -delete -e 'ssh -p 12345' / Rodyklė1 / [email protected]: / Katalogas2 /

    Kaip matote iš aukščiau esančio ekrano, išvestis, teikiama atsarginio kopijavimo tinkle metu, yra beveik tokia pati, kaip atsarginiu kopijavimu vietiniu būdu, vienintelis dalykas, kuris keičiasi, yra komanda, kurią naudojate. Taip pat atkreipkite dėmesį, kad jis paragino įvesti slaptažodį. Tai yra autentifikavimas naudojant SSH. Galite nustatyti RSA raktus, kad praleistumėte šį procesą, taip pat supaprastinsite rsync automatizavimą.

    Rsync atsarginių kopijų automatizavimas

    „Cron“ gali būti naudojama Linux automatizuoti komandų, pvz., Rsync, vykdymą. Naudodamiesi „Cron“, mes galime turėti „Linux“ sistemą, kad paleistumėte naktį atsargines kopijas, tačiau dažnai norėtumėte, kad jie būtų paleisti.

    Jei norite redaguoti naudotojo, prie kurio prisijungėte, cron lentelės failą, paleiskite:

    $ crontab -e

    Norėdami redaguoti šį failą, turėsite susipažinti su vi. Įterpimui įveskite „I“ ir pradėkite redaguoti „cron“ lentelės failą.

    „Cron“ naudoja tokią sintaksę: valandos, dienos valandos, mėnesio, metų mėnesio, savaitės dienos, komandų minutės.

    Iš pradžių tai gali būti šiek tiek paini, todėl leiskite jums pateikti pavyzdį. Toliau pateikta komanda paleis rsync komandą kiekvieną naktį 10 val.

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

    Pirmasis „0“ nurodo valandos minutę ir „22“ nurodo 10 val. Kadangi norime, kad ši komanda būtų paleista kasdien, likusius laukus paliksime žvaigždutėmis ir tada įklijuosime rsync komandą.

    Baigę konfigūruoti „Cron“, paspauskite „evakuuoti“, tada įveskite „: wq“ (be kabučių) ir paspauskite enter. Tai išsaugos jūsų pakeitimus vi.

    „Cron“ gali gauti daug daugiau nuodugnumo nei tai padaryti, tačiau norint eiti toliau, tai nepatektų į šią pamoką. Dauguma žmonių tik nori paprastos savaitės ar dienos atsarginės kopijos, o tai, ką mes parodėme, gali lengvai pasiekti. Norėdami gauti daugiau informacijos apie „Cron“, žr.

    Kitos naudingos funkcijos

    Kitas naudingas dalykas, kurį galite padaryti, yra įrašyti atsargines kopijas į „zip“ failą. Jums reikės nurodyti, kur norite įdėti „zip“ failą, ir tada rsync tą katalogą į atsarginės kopijos katalogą. Pavyzdžiui:

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

    Pirmiau pateikta komanda paima failus iš Rodyklės 1, įkelia juos į /ZippedFiles/archive.zip ir po to rsyncs šį katalogą į Directory2. Iš pradžių galite manyti, kad šis metodas bus neefektyvus didelėms atsarginėms kopijoms, atsižvelgiant į tai, kad zip failas pasikeis kiekvieną kartą, kai faile bus padarytas mažiausias keitimas. Tačiau „rsync“ perduoda tik pakeistus duomenis, todėl, jei jūsų „zip“ failas yra 10 GB, o tada į „Directory1“ pridedate tekstinį failą, „rsync“ žinos, kad visa tai pridėta (nors tai yra „zip“) ir perkelti tik keletą kilobaitų pakeistų duomenų.

    Yra keli skirtingi būdai, kuriais galite užšifruoti savo rsync atsargines kopijas. Paprasčiausias būdas yra įdiegti šifravimą pačiame standžiajame diske (kuris yra failų kopijavimas). Kitas būdas yra užšifruoti failus prieš siunčiant juos į nuotolinį serverį (ar kitą standųjį diską, nepriklausomai nuo to, ką darysite). Šiuos metodus aptarsime vėlesniuose straipsniuose.

    Nepriklausomai nuo pasirinktų parinkčių ir funkcijų, rsync pasirodo esąs viena iš efektyviausių ir universaliausių atsarginių įrankių iki šiol, ir net paprastas rsync scenarijus gali jums sutaupyti duomenų.