27Jun

Kuidas kasutada rsynci teie andmete varundamiseks Linuxis

bänner

rsync on Unix-tüüpi süsteemide jaoks loodud protokoll, mis pakub andmete varundamiseks ja sünkroonimiseks uskumatut mitmekülgsust. Seda saab kasutada kohapeal failide varundamiseks erinevatesse kataloogidesse või neid saab konfigureerida Interneti-ühenduse teistele hostidele sünkroonimiseks.

Seda saab kasutada Windowsi süsteemides, kuid see on saadaval ainult erinevatel sadadel( näiteks Cygwin), nii et selles osas on räägime Linuxi seadistamisest. Esiteks peame installima / värskendama rsync kliendi. Red Hat'i distributsioonidel on käsk "yum install rsync" ja Debianis on see "sudo apt-get install rsync."

rsync1
Red Hat / CentOS käsklus pärast sisselogimist root( märkus, et mõned Red Hat'i hiljutised jaotusedtoetada sudo meetodit).

rsync4
Debian / Ubuntu käsk.

Rsync kasutamine kohalike varunduste jaoks

Selle juhendi esimeses osas tagame failid kataloogilt 1 kataloogist 2.Mõlemad kataloogid asuvad ühes kõvakettal, kuid see toimib täpselt sama, kui kataloogid eksisteeriksid kahel erineval draivil. Selle saavutamiseks võime mitmel erineval viisil sõltuvalt sellest, millist varundamist soovite konfigureerida. Enamikul eesmärkidel piisab järgmistest koodide rida:

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

Ülalolev kood sünkroonib kataloogi sisu Directory2-le ja jätab kahe erinevuse vahele. Kui rsync leiab, et Directory2-l on fail, mida Directory1 ei tee, kustutab ta selle. Kui rsync leiab kataloogi1 muudetud, loodud või kustutatud faili, kajastab see kataloogis 2 samu muudatusi.

Seal on palju erinevaid lülitid, mida saate rsynci jaoks kasutada selleks, et isikupärastada seda vastavalt teie konkreetsetele vajadustele. Siin räägib eelmainitud kood rsync'iga varukoopiate tegemiseks:

1. -a = rekursiivne( retsept kataloogideks), lingid( kopeerige sümleinkid kui sümleinkid), permid( säilivad õigused), ajad( säilitage muudatuste ajad), grupp( säilitada grupp), omanik( säilitada omanik), säilitada seadme faile ja säilitada erifaile.
2. -v = verbose. Põhjus, miks ma arvan, et verbose on oluline, on see, et näete täpselt seda, mida rsync varundatakse. Mõelge sellele: kui teie kõvaketas läheb halvasti ja hakkab failide kustutamist ilma teie teadmata, siis käivitate oma rsync-skripti ja see vajutab need muudatused teie varukoopiatele, kustutades sellega kõik failid, mida te ei soovinudvabaneda?
3. -delete = See ütleb rsync'ile kustutama kõik Directory2-s olevad failid, mis ei ole Directory1-s. Kui otsustate seda võimalust kasutada, soovitame kasutada ka suuremahulisi valikuid ülalkirjeldatud põhjustel.

Kasutades ülaltoodud skripti, on siin väljund, mis on loodud, kasutades rsyncit, et varundada kataloog1 kataloogi 2.Pidage meeles, et ilma lojaalse lülitita ei võta te sellist üksikasjalikku teavet.

rsync2

Eespool toodud pildil näitab, et faili File1.txt ja File2.jpg tuvastati kataloogis 2 olemasolevate eksemplaride kujul kas uutest või muul viisil muul viisil ning need on varundatud. Noobi nõuanded: märkige jälle kaldkriipsud käsku rsync käskude kataloogide lõpus - need on vajalikud, kindlasti pidage meeles neid.

Läheme mõne käepärase lüliti poole selle juhendaja lõpus, kuid pidage meeles, et täieliku loendi kuvamiseks võite sisestada käsu "man rsync" ja vaadata täielikku loendit kasutatavatest lülititest.

See hõlmab seda nii kohalike varukoopiate osas. Nagu võite öelda, on rsync väga lihtne kasutada. Selle kasutamine sünkroonib Interneti-välise hostiga seda veidi keerukamaks, kuid me näitan sulle lihtsat, kiiret ja turvalist viisi.

rsync kasutamine välise varukoopia jaoks

rsync saab seadistada mitmel erineval viisil väliseks varukoopiateks, kuid me läheme läbi kõige praktilisema( ka kõige lihtsama ja turvalisema) rsync'i SSH-i tunnelimise meetodi. Enamikul serveritel ja isegi paljudel klientidel on juba SSH ja seda saab kasutada teie rsync varunduste jaoks. Näitame teile protsessi, et saada üks Linuxi masin varundada teisele kohalikule võrgule. Protsess oleks täpselt samasugune, kui üks peremees oleks kuskil internetis internetis, vaid märkake, et pordi 22( või mis tahes muu sadama puhul, millel on SSH-i konfigureeritud) oleks vaja edastada mis tahes võrguseadmetel serveri asjades.

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

# yum -y installi ssh rsync

# sudo apt-get install ssh rsync

Serveri all asuvate SSH- ja rsync-serverite installimisel on kõik, mis on tõesti vaja, serverite hoidlate seadistamine, kus soovite, et failid oleksid tagatudüles ja veenduge, et SSH on lukustatud. Veenduge, et kasutajal, kellel te kavatsete kasutada, on keeruline parool ning võib ka olla mõte SSH-i poolt vaadatud porti lülitada( vaikimisi on 22).

Käitame sama käsku, mida me kasutasime kohaliku arvuti rsync-i kasutamiseks, kuid lisage need vajalikud tunnused rsync-i SSH-i kaudu minu kohaliku võrgu serverisse. Kasutaja "geek", mis ühendab "192.168.235.137" ja kasutab samu lülitusi nagu ülalpool( -av -delete), käitame järgmiselt:

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

Kuiteil on SSH-i kuulamine mõnes teises pordis peale 22, peate määrama pordi numbri, nagu näiteks selles näites, kus ma kasutan pordi 12345:

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

rsync3

Nagu näete ülaltoodud ekraanipildilt, on võrgu varundamisel antud väljund peaaegu sama, kui varundamine kohalikul tasandil, ainus asi, mis muudab, on käsk, mida te kasutate. Pange tähele, et see palus parooli. See on autentimine SSH-ga. Selle protsessi vahelejätmiseks saate RSA võtmeid seadistada, mis lihtsustab ka rsynci automatiseerimist.

Automaatne rsync varukoopiate tegemine

Cron saab kasutada Linuxi käskude täitmise automatiseerimiseks, näiteks rsync. Kasutades Croni, võib meie Linuxi süsteem käitada igapäevaseid varukoopiaid või siiski tihti soovite, et need töötaksid.

Selleks, et redigeerida kasutaja cron-faili, kuhu sisse logite, käivitage:

$ crontab -e

Selle faili muutmiseks peate olema kursis viiga. Sisestage tüüp "I" ja seejärel alustage cron-faili muutmist.

Cron kasutab järgmist süntaksi: tund, tund, päev tund, kuu päev, aasta kuu, nädalapäev, käsk.

See võib esialgu natuke segadust tekitada, seega lubage mul anda teile näide. Järgmine käsk käivitab rsync käskluse igal õhtul kell 10:

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

Esimene "0" määrab tundi minuti ja "22" määrab kella 22.Kuna me tahame seda käsku käivitada iga päev, jätame ülejäänud väljad tärnid ja seejärel kleebi rsynci käsku.

Kui olete lõpetanud Croni konfigureerimise, vajutage escape ja seejärel tippige ": wq"( ilma jutumärkideta) ja vajutage sisestusklahvi. See salvestab vi muudatused.

Cron saab sellest palju põhjalikumat teavet, kuid selle jätkamine ei kuulu selle õpetuse ulatusse. Enamik inimesi soovib lihtsalt iganädalast või igapäevast varundamist ja seda, mida me näitasime, saate seda kergesti saavutada. Lisateavet Croni kohta leiate mani lehtedelt.

Muud kasulikud funktsioonid

Teine kasulik asi, mida saate teha, on panna oma varukoopiad ZIP-faili. Peate määrama, kuhu soovid paigutada zip-faili, ja seejärel rsync selle kataloogi oma varukataloogi. Näiteks:

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

rsync5

Ülalolev käsu võtab failid kataloogilt 1, asetab need /ZippedFiles/ archive.zip-sse ja seejärel kataloogi rsyncli Directory2-ga. Esialgu võite arvata, et see meetod osutub ebatõhusaks suurte varukoopiate jaoks, arvestades, et zip-fail muutub iga kord, kui failile tehakse väikseid muudatusi. Kuid rsync edastab ainult muutunud andmed, nii et kui teie zip-fail on 10 GB, siis lisate tekstifaili Directory1-le, siis rsync teab, et see on kõik, mida olete lisanud( kuigi see on zip-failis) ja teisaldage ainult paar kilobaitimuudest andmetest.

Rsync varukoopiate krüptimiseks on paar erinevat võimalust. Lihtsaim meetod on krüpteeringu installimine kõvakettale( see, mida teie failid varundatakse).Teine võimalus on faile krüptida enne nende saatmist serverisse( või teisele kõvakettale, mis iganes teile varundamine toimub).Me käsitleme neid meetodeid hilisemates artiklites.

Valikuvõimaluste ja -funktsioonide puhul rsync osutub praegu üheks tõhusamaks ja mitmekülgseks varundamisvahendiks ning isegi lihtne rsync-skript võib teie andmeid kaotada.