Mājas lapa » » Kā izmantot rsync, lai dublētu datus Linux

    Kā izmantot rsync, lai dublētu datus Linux

    rsync ir protokols, kas izveidots Unix tipa sistēmām, kas nodrošina neticamu daudzveidību datu dublēšanai un sinhronizēšanai. To var izmantot lokāli, lai dublētu failus dažādos katalogos vai konfigurētu, lai sinhronizētu internetā ar citiem saimniekiem.

    To var izmantot Windows sistēmās, bet tas ir pieejams tikai ar dažādām ostām (piemēram, Cygwin), tāpēc šajā veidā mēs runāsim par to uzstādīšanu Linux. Pirmkārt, mums jāinstalē / jāatjaunina rsync klients. Red Hat sadalījumā komanda ir “yum install rsync” un Debianā tā ir “sudo apt-get install rsync”.


    Red Hat / CentOS komanda pēc pieteikšanās kā sakne (ņemiet vērā, ka daži jaunākie Red Hat izplatījumi atbalsta sudo metodi).


    Komanda Debian / Ubuntu.

    Izmantojot rsync vietējiem dublējumiem

    Šīs apmācības pirmajā daļā mēs dublēsim failus no direktorijas1 uz direktoriju2. Abi šie katalogi atrodas vienā cietajā diskā, bet tas darbotos tieši tādā pašā veidā, ja katalogi pastāvētu divos dažādos diskos. To var izmantot vairākos veidos atkarībā no tā, kāda veida dublējumkopijas vēlaties konfigurēt. Vairumam nolūkos pietiek ar šādu rindiņu:

    $ rsync -av --delete / Directory1 / / Katalogs2 /

    Iepriekš minētais kods sinhronizēs Directory1 saturu ar direktoriju2 un neatstās nekādas atšķirības starp abiem. Ja rsync konstatē, ka Directory2 ir fails, kas Directory1 nav, tas to izdzēsīs. Ja rsync atrod failu, kas ir mainīts, izveidots vai izdzēsts direktorijā1, tas atspoguļo tās pašas izmaiņas direktorijā2.

    Ir daudz dažādu slēdžu, kurus varat izmantot rsync, lai personalizētu to atbilstoši savām īpašajām vajadzībām. Lūk, ko iepriekš minētais kods stāsta rsync darīt ar dublējumiem:

    1. -a = rekursīvs (atkārtojas katalogos), saites (kopēt simbolu kā simbolu), perms (saglabāt atļaujas), laiki (saglabāšanas modifikācijas laiki), grupa (saglabāt grupu), īpašnieks (īpašnieka saglabāšana), ierīces failu saglabāšana un saglabāt īpašus failus.
    2. -v = verbose. Iemesls, kāpēc es domāju, ka tā ir ļoti svarīga, ir tā, ka jūs varat redzēt tieši to, ko rsync atbalsta. Padomājiet par to: Ko darīt, ja jūsu cietais disks iet slikti un sāk dzēst failus bez jūsu zināšanām, tad palaižat savu rsync skriptu un tas nospiež šīs izmaiņas jūsu dublējumkopijās, tādējādi izdzēšot visus faila gadījumus, kurus nevēlaties saņemt atbrīvoties no?
    3. -delete = Tas liek rsync izdzēst visus failus, kas atrodas direktorijā2, kas nav direktorijā1. Ja izvēlaties izmantot šo opciju, iepriekš minēto iemeslu dēļ es iesaku izmantot verbozas opcijas.

    Izmantojot iepriekš norādīto skriptu, šeit ir izeja, kas ģenerēta, izmantojot rsync, lai dublētu direktoriju1 uz direktoriju2. Ņemiet vērā, ka bez verboza slēdža jūs nesaņemtu šādu detalizētu informāciju.

    Iepriekš redzamais ekrānuzņēmums norāda, ka File1.txt un File2.jpg tika atklāti kā jauni vai citādi mainīti no direktorijā2 esošajām kopijām, un tāpēc tie tika dublēti. Noob padoms: ņemiet vērā, ka manas rsync komandas direktoriju beigās ir sliekšņi, kas ir vajadzīgi, lai tos atcerētos.

    Mēs pārgājīsim pāris ērtākus pārejas uz šīs apmācības beigām, bet tikai atcerieties, ka, lai redzētu pilnu sarakstu, varat ievadīt “man rsync” un apskatīt pilnīgu izmantojamo slēdžu sarakstu.

    Tas attiecas uz to, cik tas attiecas uz vietējiem dublējumiem. Kā jūs varat pateikt, rsync ir ļoti viegli lietot. Tas kļūst nedaudz sarežģītāks, ja to izmanto, lai sinhronizētu datus ar ārēju resursdatoru internetā, bet mēs jums parādīsim vienkāršu, ātru un drošu veidu, kā to izdarīt.

    Izmantojot rsync ārējiem dublējumiem

    rsync var konfigurēt vairākos dažādos veidos ārējiem dublējumkopijas veidiem, bet mēs pārvarēsim vispraktiskāko (arī vienkāršāko un drošāko) metodi rsync caurulēšanai caur SSH. Lielākajā daļā serveru un pat daudziem klientiem jau ir SSH, un to var izmantot jūsu rsync backups. Mēs jums parādīsim procesu, kā vietējā tīklā iegūt vienu Linux mašīnu uz citu. Šis process būtu tieši tāds pats, ja kāds no uzņēmējiem kaut kur atradās internetā, vienkārši ņemiet vērā, ka 22. portam (vai jebkuram portam, kurā jums ir SSH konfigurēts), būtu jāpārsūta uz jebkuras tīkla iekārtas uz servera puses..

    Uz servera (datorā, kas saņems dublējumkopijas) pārliecinieties, vai ir instalēti SSH un rsync.

    # yum -y instalējiet ssh rsync

    # sudo apt-get instalēt ssh rsync

    Izņemot SSH un rsync instalēšanu serverī, viss, kas patiešām ir jādara, ir iestatīt serveru krātuves, kurās vēlaties saglabāt failus, un pārliecinieties, ka SSH ir bloķēts. Pārliecinieties, ka lietotājam, kuram plānojat izmantot, ir sarežģīta parole, un, iespējams, ir lietderīgi pārslēgt ostu, kuru SSH klausās (noklusējums ir 22).

    Mēs palaidīsim to pašu komandu, ko mēs izmantojām, lai vietējā datorā izmantotu rsync, bet iekļautu nepieciešamos papildinājumus rsync tuneļu savienošanai ar SSH uz serveri manā vietējā tīklā. Lietotājam “geek”, kas savieno “192.168.235.137” un izmanto tos pašus slēdžus kā iepriekš (-av-atjaunot), mēs darbosimies šādi:

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

    Ja jums ir SSH klausīšanās kādā citā ostā, kas nav 22, jums jānorāda porta numurs, piemēram, šajā piemērā, kur es izmantoju portu 12345:

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

    Kā redzams no iepriekš redzamās ekrānuzņēmuma, produkcija, kas tiek dota, veidojot dublējumkopiju visā tīklā, ir diezgan tāda pati kā vietējā dublējumkopijā, vienīgā lieta, kas mainās, ir komanda, kuru izmantojat. Ņemiet vērā arī to, ka tā pieprasīja paroli. Tas ir autentificēt ar SSH. Jūs varat iestatīt RSA taustiņus, lai izlaistu šo procesu, kas arī vienkāršos rsync automatizāciju.

    Rsync backups automatizēšana

    Cron var izmantot Linux, lai automatizētu komandu izpildi, piemēram, rsync. Izmantojot Cron, mēs varam, ka mūsu Linux sistēma darbosies nakts dublējumkopijas, vai arī bieži jūs vēlētos, lai tie darbotos.

    Lai rediģētu cron tabulas failu lietotājam, ar kuru esat pieteicies, palaidiet:

    $ crontab -e

    Lai rediģētu šo failu, jums būs jāzina vi. Ievadiet “I” ievietošanai un pēc tam sāciet rediģēt cron tabulas failu.

    Cron izmanto šādu sintaksi: stundas stunda, dienas stunda, mēneša diena, gada mēnesis, nedēļas diena, komanda.

    Sākumā tas var būt nedaudz mulsinoši, tāpēc ļaujiet man sniegt jums piemēru. Sekojošā komanda veiks rsync komandu katru nakti plkst.

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

    Pirmais “0” norāda stundas minūti, un “22” norāda 10 PM. Tā kā mēs vēlamies, lai šī komanda darbotos katru dienu, mēs atstāsim pārējos laukus ar zvaigznītēm un pēc tam ielīmēsim rsync komandu.

    Kad esat pabeidzis konfigurēt Cron, nospiediet aizbēgt un pēc tam ierakstiet “: wq” (bez pēdiņām) un nospiediet enter. Tas saglabās jūsu izmaiņas vi.

    Cron var iegūt daudz padziļinātu informāciju par to, bet, lai turpinātu, tas būtu ārpus šīs apmācības jomas. Lielākā daļa cilvēku vienkārši vēlas vienkāršu iknedēļas vai ikdienas dublējumu, un tas, ko mēs esam parādījuši, var to viegli paveikt. Lai iegūtu vairāk informācijas par Cron, lūdzu, skatiet man lapas.

    Citas noderīgas funkcijas

    Vēl viena noderīga lieta, ko varat darīt, ir ievietot dublējumkopijas zip failā. Jums būs jānorāda, kur vēlaties ievietot zip failu, un pēc tam rsync šo direktoriju savai rezerves direktorijai. Piemēram:

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

    Iepriekš minētā komanda ņem failus no direktorijas1, ievieto tos /ZippedFiles/archive.zip un pēc tam rsyncs šo direktoriju uz Directory2. Sākotnēji, jūs domājat, ka šī metode izrādīsies neefektīva lieliem dublējumiem, ņemot vērā, ka zip fails mainīsies katru reizi, kad failā tiks izdarīta mazākā izmaiņa. Tomēr rsync pārsūta tikai mainītos datus, tādēļ, ja jūsu zip fails ir 10 GB, un pēc tam pievienojat teksta failu Directory1, rsync zinās, ka viss, ko esat pievienojis (pat ja tas ir zipā), un tikai pāris kilobaiti mainītos datus.

    Ir dažādi veidi, kā varat šifrēt jūsu rsync dublējumus. Vienkāršākā metode ir instalēt šifrēšanu uz cietā diska (tas, ko jūsu faili tiek dublēti). Vēl viens veids ir šifrēt failus, pirms tie tiek nosūtīti uz attālo serveri (vai citu cieto disku, neatkarīgi no tā, kas jums notiek). Šīs metodes mēs aptversim vēlākos rakstos.

    Neatkarīgi no izvēlētās opcijas un iespējas rsync izrādās viens no efektīvākajiem un daudzpusīgākajiem dublēšanas rīkiem līdz šim, un pat vienkāršs rsync skripts var glābt jūs no datu zaudēšanas..