27Jun

Kaip naudotis "rsync" "Backup Your Data" sistemoje "Linux"

reklamjuostė

rsync yra protokolas, sukurtas "Unix" tipo sistemoms, kuris teikia neįtikėtiną daugialypį duomenų kopijavimą ir sinchronizavimą.Jis gali būti naudojamas vietoje, kad būtų galima kurti atsargines failų atsargines kopijas skirtinguose kataloguose arba juos galima sukonfigūruoti, kad būtų galima sinchronizuoti kitus kompiuterius.

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

rsync1
Red Hat / CentOS komandą prisijungęs kaip root( atkreipkite dėmesį, kad kai kurie naujausi Red Hat platinimaipalaikykite sudo metodą).

rsync4
Debian / Ubuntu komanda.

Naudojant rsync vietinėms atsarginėms kopijoms

Pirmoje šio vadovo dalyje atsargines failų atsargines kopijas sukursime iš Directory1 į Directory2.Abu šie katalogai yra tame pačiame kietajame diske, tačiau tai būtų tokia pati, jei katalogai egzistuotų dviejuose skirtinguose įrenginiuose. Galime tai pasiekti keletą skirtingų būdų, priklausomai nuo to, kokias atsargines kopijas norite konfigūruoti. Daugeliui tikslų pakanka tokios kodo eilutės:

$ rsync -av --delete /Directory1/ /Directory2/

Aukščiau aprašytas kodas sinchronizuos Directory1 turinį su Directory2 ir nepaliks abiejų skirtumų.Jei rsync nustato, kad "Directory2" turi failą, kuris nėra "Directory1", jis jį ištrins. Jei rsync randa failą, kuris buvo pakeistas, sukurtas arba ištrintas kataloge1, jis parodys tuos pačius "Directory2" pakeitimus.

Yra daug skirtingų jungiklių, kuriuos galite naudoti rsync, kad pritaikytumėte jį pagal savo konkrečius poreikius.Štai kodėl minėtas kodas rsync nurodo su atsarginėmis kopijomis:

1. -a = rekursinis( pasikartojantis į katalogus), nuorodos( nukopijuokite simbolių nuorodas kaip simbolių nuorodas), perms( išsaugokite leidimus), kartus( išsaugokite pakeitimo 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 verbose yra svarbu, yra tai, kad galite tiksliai pamatyti, ką palaiko "rsync".Pagalvokite apie tai. Ką daryti, jei jūsų kietasis diskas blogai veikia ir pradeda ištrinti failus be jūsų žinios, tada paleidžiate savo rsync scenarijų ir stumia tuos atsarginių kopijų pakeitimus, taip ištrindami visus failų egzempliorius, kurių nenorite gautiatsikratyti?
3. -delete = Tai nurodo rsync ištrinti visus failus, esančius kataloge 2, kurie nėra kataloge1.Jei nuspręsite naudoti šią parinktį, rekomenduoju naudoti verbavimo parinktis dėl pirmiau minėtų priežasčių.

Naudodamiesi anksčiau pateiktu scenarijų, čia pateikiama išvestis, sukurta naudojant rsync, norint atsarginę katalogą1 nukreipti į "Directory2".Atkreipkite dėmesį, kad be išsamų jungiklio negausite tokios išsamios informacijos.

rsync2

Ankstesnis ekranas rodo, kad failai File1.txt ir File2.jpg buvo aptikti kaip nauji arba kitaip pakeisti iš kataloge 2 esančių egzempliorių, todėl jie buvo atsarginės kopijos. Noob patarimas: atkreipkite dėmesį į galines eilučių kataloge, esančiame mano rsync komandoje, pabaigoje - jos būtinos, būtinai jas prisiminkite.

Mes pasieksime keletą patogesnių jungiklių šio vadovo pabaigoje, tačiau tiesiog nepamirškime, kad norėdami pamatyti visą sąrašą, galite įvesti "man rsync" ir peržiūrėti visą sąrašą naudojamų jungiklių.

Tai susiję su vietos atsarginėmis kopijomis. Kaip jūs galite pasakyti, "rsync" yra labai paprasta naudoti. Kai naudojamasi sinchronizuojant duomenis su išoriniu kompiuteriu per internetą, jis tampa šiek tiek sudėtingesnis, bet mes parodysime jums paprastą, greitą ir saugų būdą tai padaryti.

"rsync" naudojimas išorinėms atsarginėms kopijoms

rsync galima sukonfigūruoti keliais skirtingais būdais išorinėms atsarginėms kopijoms, tačiau mes pereisime į labiausiai praktinį( taip pat ir lengviausią ir saugiausią) būdą "rsync" talpinti per SSH.Dauguma serverių ir netgi daug klientų jau turi SSH, ir jie gali būti naudojami rsync atsarginėms kopijoms. Mes parodysime jums procesą, kad vienas "Linux" įrenginys galėtų atsarginę kopiją kitame vietiniame tinkle. Procesas būtų toks pat, kaip ir tada, kai vienas kompiuteris buvo kažkur internete, tik atkreipkite dėmesį į tai, kad prievado 22( arba bet kurio prievado, kuriame yra SSH sukonfigūruota), turės būti perduotas bet kokioje tinklo įrangoje, esančioje serverio pusėje.

Serveryje( kompiuteryje, kuriame bus gaunamos atsarginės kopijos), įsitikinkite, kad SSH ir rsync įdiegtos.

# yum -y įdiegti ssh rsync

# sudo apt-get install ssh rsync

Išskyrus SSH ir rsync įdiegimą serveryje, viskas, ką tikrai reikia padaryti, yra konfigūruoti saugyklų serveryje, kur norite, kad palaikomi failaiį viršų ir įsitikinkite, kad SSH yra užrakintas.Įsitikinkite, kad naudotojas, kurį planuojate naudoti, turi sudėtingą slaptažodį, ir taip pat gali būti naudinga perjungti uostą, kurį SSH klauso( pagal nutylėjimą yra 22).

Mes paleisime tą pačią komandą, kurią padarėme, kad rsync būtų naudojama vietiniame kompiuteryje, tačiau įtraukiame būtinus papildymus, skirtus talpinti rsync per SSH į savo vietinio tinklo serverį.Naudotojo "geek", jungiantis prie "192.168.235.137" ir naudojant tuos pačius jungiklius, kaip nurodyta aukščiau( -av -delete), paleisime:

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

Jeijūs turėtumėte SSH klausytis kokiu nors uoste, išskyrus 22, turėsite nurodyti prievado numerį, pvz., šiame pavyzdyje, kur aš naudoju uostą 12345:

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

rsync3

Kaip matote iš anksčiau pateikto ekrano kopijos, išvestis, pateikiama naudojant atsargines kopijas visame tinkle, yra beveik tokia pati kaip ir vietinės atsarginės kopijos, vienintelis dalykas, kuris keičia, yra komanda, kurią naudojate. Taip pat atkreipkite dėmesį, kad jis paragino įvesti slaptažodį.Tai autentifikuoti naudojant SSH.Galite nustatyti RSA klavišus praleisti šį procesą, kuris taip pat supaprastins automatizavimą rsync.

Automatizavimas rsync atsarginių kopijų

Cron gali būti naudojamas Linux, kad automatizuotų komandų vykdymą, pavyzdžiui, rsync. Naudodamiesi "Cron", mes galime turėti "Linux" sistemoje veikiančias naktines atsargines kopijas, tačiau dažnai norėtumėte, kad jos paleistumėte.

Norėdami redaguoti naudotojo, kuriame esate prisijungęs, cron lentelės failą, paleiskite:

$ crontab -e

Jums reikės susipažinti su vi, kad galėtumėte redaguoti šį failą.Įterpkite "I", tada pradėkite redaguoti cron lentelės failą.

Cron naudoja šią sintaksę: valandos minutė, dienos valanda, mėnesio diena, metų mėnuo, savaitės diena, komanda.

Iš pradžių tai gali būti šiek tiek paini, todėl leiskite parodyti pavyzdį.Ši komanda paleis komandą rsync kiekvieną vakarą 10:00:

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

Pirmasis "0" nurodo valandos minutę, o "22" nurodo 10:00.Kadangi mes norime, kad ši komanda būtų paleista kasdien, mes paliksime likusius laukus žvaigždute ir įklijuosime komandą rsync.

Kai baigsite konfigūruoti Cron, paspauskite pabėgti, tada įveskite ": wq"( be kabučių) ir paspauskite enter. Tai išsaugos pakeitimus vi.

Cron gali gauti daug išsamesnės informacijos apie tai, tačiau, norint išspręsti šią problemą, šis pamokos tikslas nebus didesnis. Dauguma žmonių tiesiog norės paprasto savaitinio ar kasdienio atsarginės kopijos, o tai, ką mes parodėme, galite tai padaryti lengvai. Daugiau informacijos apie "Cron" rasite meniu puslapiuose.

Kitos naudingos savybės

Dar vienas naudingas dalykas, kurį galite padaryti, - atsargines kopijas dėti į zip failą.Turėsite nurodyti, kur norite įdėti zip failą, tada rsync tą katalogą į savo atsarginę kopiją.Pavyzdžiui:

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

rsync5

Pirmiau pateikta komanda paima failus iš Directory1, perkelia juos į /ZippedFiles/ archive.zip ir tada rsyncc šį katalogą į Directory2.Iš pradžių manote, kad šis metodas bus neefektyvus didelėms atsarginėms kopijoms, nes zip failas pasikeis kiekvieną kartą, kai bus padarytas menkiausias failo pakeitimas. Tačiau rsync perduoda tik pakeistus duomenis, taigi, jei jūsų zip failas yra 10 GB, tada randate tekstinį failą į Directory1, rsync žinos, kad tai viskas, ką pridėjote( nors jis yra zip formatu) ir perkeliate tik keletą kilobaitųpakeistų duomenų.

Yra keletas skirtingų būdų, kodėl galite užšifruoti rsync atsargines kopijas. Lengviausias būdas yra įdiegti šifravimą į patį kietąjį diską( tą, į kurį atsarginės jūsų failai).Kitas būdas yra šifruoti failus, prieš juos išsiunčiant į nuotolinį serverį( arba kitą kietąjį diską, nepriklausomai nuo to, kas atsitiko, kad būtų atsarginės kopijos).Šiuos metodus apimsime vėlesniuose straipsniuose.

Nesvarbu, kokios pasirinktys ir pasirinktos funkcijos, rsync pasirodė esantis vienu iš efektyviausių ir universalių atsarginių kopijų įrankių iki šiol, o netgi paprastas rsync scenarijus gali sutaupyti jūsų prarasti duomenis.