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

Turinys:

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

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

Video: Kaip naudotis
Video: How To Fix Windows 10 File Explorer Crashing - YouTube 2024, Balandis
Anonim
"rsync" yra protokolas, sukurtas "Unix" tipo sistemoms, kuris suteikia neįtikėtiną daugialypį duomenų atsarginių kopijų kūrimą 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.
"rsync" yra protokolas, sukurtas "Unix" tipo sistemoms, kuris suteikia neįtikėtiną daugialypį duomenų atsarginių kopijų kūrimą 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, bet yra 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" paskyroje yra komanda "yum install rsync", o Debian - "sudo apt-get install rsync".

 Red Hat / CentOS komandą prisijungęs kaip root (atkreipkite dėmesį, kad kai kurie naujausi Red Hat platinimai palaiko sudo metodą).
Red Hat / CentOS komandą prisijungęs kaip root (atkreipkite dėmesį, kad kai kurie naujausi Red Hat platinimai palaiko sudo metodą).
 Debian / Ubuntu komanda.
Debian / Ubuntu komanda.

"Rsync" naudojimas vietinėms atsarginėms kopijoms

Pirmoje šio vadovo dalyje atsargines failų kopijas iš katalogo1 į katalogą 2. 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 šios eilutės kodo:

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

Aukščiau pateiktas kodas sinchronizuos "Directory1" ir "Directory2" turinį, o tarp šių dviejų nekeis. 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 anksčiau minėtas kodas rsync nurodo su atsarginėmis kopijomis:

1. -a = rekursinis (kartojasi į katalogus), nuorodos (nukopijuokite simbolių nuorodas kaip simbolių nuorodas), perms (išsaugokite leidimus), kartus (išsaugokite pakeitimo laiką), grupę (išsaugokite grupę), savininką (išsaugokite savininką), išsaugokite į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 gauti atsikratyti? 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.

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ę kopiją. Noob patarimas: atkreipkite dėmesį į galines eilučių kataloge, esančiame mano rsync komandoje, pabaigoje - jos būtinos, būtinai jas prisiminkite.
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ę kopiją. Noob patarimas: atkreipkite dėmesį į galines eilučių kataloge, esančiame mano rsync komandoje, pabaigoje - jos būtinos, būtinai jas prisiminkite.

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

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" gali būti sukonfigūruotas keliais skirtingais būdais išorinėms atsarginėms kopijoms, bet mes pereisime prie labiausiai praktiško (taip pat ir paprasčiausio ir saugiausio) rsync tuneliavimo per SSH metodo. 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 įdiegta SSH ir rsync.

# yum -y install ssh rsync

# sudo apt-get install ssh rsync

Išskyrus SSH ir rsync įdiegimą serveryje, viskas, ką tikrai reikia padaryti, yra serverio, kuriame norite, kad failai būtų atsarginę kopiją, konfigūracija ir įsitikinkite, kad SSH užblokuotas. Į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 vykdysime tą pačią komandą, kurią padarėme, kad rsync naudojamės vietiniame kompiuteryje, bet įtraukiame būtinus papildymus, skirtus talpinti rsync per SSH į mano vietinio tinklo serverį. Jei vartotojas "geek" prisijungia prie "192.168.235.137" ir naudoja tuos pačius jungiklius, kaip nurodyta aukščiau (-av -delete), paleisime:

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

Jei turite SSH klausydamiesi tam tikruose 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/

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.
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.

Automatizuoti rsync atsargines kopijas

"Cron" gali būti naudojamas "Linux", kad automatizuotų komandų vykdymą, pvz., "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, failo cron lentelę, paleiskite:

$ crontab -e

Norėdami redaguoti šį failą, turėsite būti susipažinę su vi. Įterpkite "I", tada pradėkite redaguoti cron lentelės failą.

Cron naudoja tokią 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 val. 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 klavišą enter. Tai išsaugos pakeitimus vi.

"Cron" gali gauti daug išsamesnį nei tai, tačiau, norint tai daryti, tai netaptų šios mokymo programos taikymo sritimi. 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 funkcijos

Kitas naudingas dalykas, kurį galite padaryti, yra atsarginių kopijų darymas į 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/

Pirmiau pateikta komanda paima failus iš Directory1, perkelia juos į /ZippedFiles/archive.zip ir tada susieja šį katalogą su 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ų.
Pirmiau pateikta komanda paima failus iš Directory1, perkelia juos į /ZippedFiles/archive.zip ir tada susieja šį katalogą su 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 jums atsitiks). Šiuos metodus apimsime vėlesniuose straipsniuose.

Nepriklausomai nuo pasirinktų pasirinkčių ir funkcijų rsync pasirodė esantis vienu iš efektyviausių ir universalių atsarginių kopijų įrankių iki šiol ir net paprastas rsync scenarijus gali sutaupyti jūsų prarasti duomenis.

Rekomenduojamas: