27Jun
rsync ir protokols, kas izstrādāts Unix līdzīgām sistēmām, kas sniedz neticamu daudzpusību datu dublēšanai un sinhronizēšanai. To var izmantot lokāli, lai dublētu failus dažādos direktorijās vai arī tos varētu konfigurēt, lai sinhronizētu internetu 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ādēļ šajā gadījumā mēs runāsim par tā iestatīšanu uz Linux. Pirmkārt, mums ir jāinstalē / jāatjaunina rsync klients. Red Hat sadalījumos komanda ir "yum install rsync", bet Debian - "sudo apt-get install rsync".
Red Hat / CentOS komanda pēc pieslēgšanās root( ņemiet vērā, ka daži jaunākie Red Hat izplatītājiatbalstīt sudo metodi).
Par Debian / Ubuntu komandu.
Izmantojot rsync vietējiem dublējumiem
Šīs apmācības pirmajā daļā mēs dublēsim failus no Directory1 uz Directory2.Abi šie katalogi atrodas tajā pašā cietajā diskā, taču tas darbosies tieši tādā pašā veidā, ja katalogi pastāvētu divos dažādos diskdziņos. Mēs varam to izdarīt vairākos dažādos veidos, atkarībā no tā, kāda veida dublējumkopijas vēlaties konfigurēt. Lielākajā daļā gadījumu pietiek ar šādu koda rindu:
$ rsync -av --delete /Directory1/ /Directory2/
Iepriekš minētais kods sinhronizēs Directory1 saturu ar Directory2 un neatstās atšķirības starp abiem. Ja rsync konstatē, ka Directory2 ir fails, ko Directory1 nedarbojas, tas to dzēsīs. Ja rsync atrod failu, kas ir mainīts, izveidots vai dzēsts katalogā1, tas atspoguļos tās pašas izmaiņas katalogā2.
Ir daudz dažādu slēdžu, ko varat izmantot rsync, lai to personalizētu atbilstoši savām vajadzībām.Šeit ir tas, kas iepriekšminētajam kodam rsync norāda ar dublējumkopijām:
1. -a = rekursīvs( atkārtojas katalogos), saites( simbolu saites kā simboli), perms( saglabāt atļaujas), reizes( saglabāt modificēšanas laiku), grupu( saglabāt grupu), īpašnieks( saglabāt īpašnieku), saglabāt ierīces failus un saglabāt īpašus failus.
2. -v = verbose. Iemesls, ko es domāju, ka verbāls ir svarīgs, ir tas, ka jūs varat redzēt tieši to, ko rsync atbalsta. Padomājiet par to. Ko darīt, ja cietais disks slikti un sāk izdzēst failus bez jūsu zināšanām, tad palaižat savu rsync skriptu un nospiež šīs izmaiņas jūsu dublējumkopijās, tādējādi izdzēšot visus faila gadījumus, kurus nevēlaties iegūtatbrīvoties no?
3. -delete = Tas norāda rsync, lai izdzēstu visus failus, kas atrodas direktorijā 2, kuri nav Directory1.Ja izvēlaties izmantot šo opciju, iepriekš minēto iemeslu dēļ es iesaku arī izmantot verbālās opcijas.
Izmantojot iepriekš minēto skriptu, šeit ir izlaide, kas ģenerēta, izmantojot rsync, lai dublētu Directory1 uz Directory2.Ņemiet vērā, ka bez verbose slēdzenes jūs nesaņemat šādu detalizētu informāciju.
Iepriekšējais ekrānuzņēmums norāda, ka File1.txt un File2.jpg tika konstatēti vai nu kā jauni, vai citādi mainīti no katalogiem 2 esošajām kopijām, un tāpēc tie tika dublēti. Noob padoms: iegaumējiet slīpsvītru kataloga beigās manā rsync komandā - tie ir nepieciešami, noteikti to atcerieties.
Mēs ieskaitīsim vēl dažus ērtākus slēdžus šīs apmācības beigās, bet tikai atcerieties, ka, lai redzētu pilnu sarakstu, jūs varat ierakstīt "man rsync" un apskatīt pilnu sarakstu ar slēdžiem, kurus izmantot.
Tas attiecas uz to, cik tas attiecas uz vietējām dublējumkopijām. Kā jūs varat pateikt, rsync ir ļoti viegli izmantot. Izmantojot to, lai sinhronizētu datus ar ārēju saimniekdatoru internetā, tas kļūst nedaudz sarežģītāks, taču mēs 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, lai veiktu ārējās dublējumkopijas, taču mēs pārietam pie vispiemērotākās( arī vienkāršākās un drošākās) rsync tuneļošanas metodes, izmantojot SSH.Lielākajai daļai serveru un pat daudzu klientu jau ir SSH, un to var izmantot jūsu rsync dublējumkopijām. Mēs parādīsim procesu, lai iegūtu vienu Linux iekārtu rezerves vietai citā lokālajā tīklā.Process būtu tieši tāds pats, ja kāds no uzņēmējiem kaut kur nokļūst internetā, tikai ņemiet vērā, ka 22. ostā( vai jebkurai citai ostai, kurai ir SSH konfigurēta), būtu jānosūta uz jebkura tīkla aprīkojuma servera pusē.
Serverī( datorā, kas saņems dublējumkopijas) pārliecinieties, ka SSH un rsync ir instalēti.
# yum -y instalējiet ssh rsync
# sudo apt-get install ssh rsync
Izņemot serverī SSH un rsync instalēšanu, viss, kas patiešām ir jādara, ir iestatīt servera krātuves, kur vēlaties, lai faili tiek atbalstītiuz augšu un pārliecinieties, ka SSH ir bloķēts. Pārliecinieties, vai lietotājam, ko plānojat lietot, ir sarežģīta parole, un arī ieteicams pārslēgt ostu, uz kuru SSH klausās( pēc noklusējuma ir 22).
Mēs izmantosim tādu pašu komandu, ko izmantojām rsync izmantošanai vietējā datorā, bet iekļaujam nepieciešamos papildinājumus rsync tuneļošanai caur SSH uz sava vietējā tīkla serveri. Lietotāja "geek", kas savieno ar "192.168.235.137" un izmanto tos pašus slēdžus kā iepriekš( -av -delete), darbosies šādi:
$ rsync -av -delete -e ssh /Directory1/ [email protected]: /Directory2/
JaJums ir SSH klausīties citā ostā, izņemot 22, jums vajadzētu norādīt porta numuru, piemēram, šajā piemērā, kur es izmantoju portu 12345:
$ rsync -av -delete -e 'ssh -p 12345' /Directory1/ [email protected]: /Directory2/
Kā redzat no iepriekš redzamā ekrāna, produkcija, kas tiek sniegta dublēšanas laikā tīklā, ir gandrīz tāda pati kā vietnes dublēšana, vienīgā lieta, kas mainās, ir komanda, kuru izmantojat. Atzīmējiet arī to, ka tas pieprasīja paroli. Tas ir autentificēt ar SSH.Jūs varat iestatīt RSA atslēgas, lai izlaistu šo procesu, tādējādi vienkāršojot rsync automatizāciju.
Automātiski rsync dublējumkopijas
Cron var izmantot Linux, lai automatizētu komandu izpildi, piemēram, rsync. Izmantojot Cron, mēs varam, lai mūsu Linux sistēma darbotos ikdienas dublējumkopijas, taču bieži vien jūs vēlētos, lai viņi palaistu.
Lai rediģētu cron tabulas failu lietotājam, kuram esat pieteicies kā, palaidiet:
$ crontab -e
Lai rediģētu šo failu, jums jāzina ar vi. Ierakstiet "I", un pēc tam sāciet rediģēt cron tabulas failu.
Cron izmanto šādu sintaksi: stundas minūtes, dienas stundas, mēneša dienas, gada mēneša, nedēļas dienas, komandas.
Sākumā tas var būt mazliet mulsinošs, tāpēc ļaujiet man pieminēt. Tālāk norādītā komanda palaidīs rsync komandu katru pulksten 10:00:
0 22 * * * rsync -av --delete /Directory1/ /Directory2/
Pirmajā "0" norāda stundas minūti, un "22" norāda uz 10 PM.Tā kā mēs vēlamies, lai šī komanda palaistu katru dienu, mēs atstāsim atlikušos laukus ar zvaigznītēm un pēc tam ielīmēsim rsync komandu.
Kad esat beidzis konfigurēt Cron, nospiediet aizbēgt un pēc tam ierakstiet ": wq"( bez pēdiņām) un nospiediet enter. Tas saglabās izmaiņas vi.
Cron var iegūt daudz dziļāk nekā tas, taču, lai turpinātu to, tas būtu ārpus šīs apmācības jomas. Lielākā daļa cilvēku vienkārši vēlēsies vienkāršu iknedēļas vai ikdienas rezerves kopiju, un tas, ko mēs esam parādījuši, to var viegli paveikt. Plašāku informāciju par Cron, lūdzu, skatiet vīriešu lapās.
Citas noderīgas funkcijas
Vēl viena noderīga lieta, ko varat darīt, ir dublējumu izveidošana zip failā.Jums būs jānorāda vieta, kur vēlaties ievietot zip failu, un pēc tam rsync šo direktoriju uz jūsu rezerves direktoriju. Piemēram:
$ zip /ZippedFiles/ archive.zip /Directory1/ &rsync -av --delete /ZippedFiles/ /Directory2/
Iepriekš minētā komanda ņem failus no Directory1, 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 lielām dublējumkopijām, ņemot vērā, ka zip fails mainīsies ikreiz, kad failā tiek veiktas vismazākās izmaiņas. Tomēr rsync pārsūta tikai mainītos datus, tādēļ, ja jūsu zip fails ir 10 GB, un pēc tam jūs pievienojat teksta failu katalogam1, rsync uzzina, ka tas ir viss, ko pievienojāt( pat ja tas ir zip), un pārnes tikai dažus kilobaitusno mainītajiem datiem.
Ir daži dažādi veidi, kā jūs varat šifrēt jūsu rsync dublējumkopijas. Vienkāršākā metode ir instalēt šifrēšanu uz cietā diska( tas, uz kuru jūsu faili tiek dublēti).Vēl viens veids ir šifrēt savus failus pirms to nosūtīšanas uz attālo serveri( vai citu cieto disku, neatkarīgi no tā, kāds jums ir vajadzīgs, lai izveidotu dublējumkopiju).Mēs aplūkosim šīs metodes turpmākajos rakstos.
Neatkarīgi no izvēlētām iespējām un funkcijām rsync līdz šim ir izrādījies viens no efektīvākajiem un daudzpusīgākajiem rezerves rīkiem, un pat vienkāršs rsync skripts var ietaupīt jūs no datu zaudēšanas.