Datu dub­lē­ju­miem vajadzētu būt svarīgai lomai jūsu servera plānošanā. At­se­viš­ķus dub­lē­ju­mus var ātri kon­fi­gu­rēt un veikt, iz­man­to­jot bezmaksas sin­hro­ni­zā­ci­jas rīku vai rsync protokolu.

Kā iestatīt rsync dub­lē­ju­mus Linux serveros

Lai izmantotu rsync Linux ope­rē­tājsis­tē­mās, in­sta­lē­jiet protokolu ar tādu pašu nosaukumu un iz­vei­do­jiet dub­lē­ju­mus , iz­man­to­jot termināļa komandas. Turp­mā­ka­jā sadaļā mēs iz­man­to­sim Ubuntu, lai parādītu sva­rī­gā­kos soļus dublējumu procesu kon­fi­gu­rē­ša­nai, iz­man­to­jot rsync. Esam iekļāvuši arī prak­tis­kus piemērus.

Ubuntu sistēmā rsync jau ir instalēts pēc no­klu­sē­ju­ma. Ja tā nav, iz­man­to­jiet šādu komandu, lai to instalētu:

sudo apt-get install rsync
bash

Ja ir instalēta programma rsync, varat izmantot termināļa komandas, lai norādītu avota un galamērķa di­rek­to­ri­jus, kā arī dublējuma opcijas. Kā avota un galamērķa ceļus ir jānorāda at­tie­cī­gais avota di­rek­to­rijs un di­rek­to­rijs, kurā rsync jāuzglabā dublējuma kopija. Standarta režīmu („Archive“) var izpildīt, piemēram, šādi:

rsync -a source directory target directory
bash
Tip

Iz­man­to­jiet testa palaidi -n, lai pār­bau­dī­tu norādīto parametru un di­rek­to­ri­ju pareizību. Nepareizi ievadīti dati slik­tā­ka­jā gadījumā var izraisīt datu zudumu. Ja daži faili netiek kopēti, kā vajadzētu, tas bieži vien ir saistīts ar ne­pie­tie­ka­mām piekļuves tiesībām. Ja tā notiek, mēģiniet izpildīt komandu kā ad­mi­nis­tra­tors, pie­vie­no­jot tai priekšā sudo.

Pieci piemēri, kā izmantot rsync dublējumu

Kad būsiet apguvis pamata komandas, rsync kļūs par lielisku rīku failu kopēšanai un dublējumu vei­do­ša­nai. Jūs varat vai nu izmēģināt un pielietot at­se­viš­ķas komandu kon­fi­gu­rā­ci­jas, vai arī izmantot pār­bau­dī­tas pieejamo rsync parametru kom­bi­nā­ci­jas. Turp­mā­ka­jās sadaļās esam ap­ko­po­ju­ši piecus populārus veidus, kā veikt rsync dub­lē­ju­mus.

Standarta dublējums ar­hi­vē­ša­nas režīmā

Ar­hi­vē­ša­nas režīms kopē visus failus no avota di­rek­to­ri­ja uz mērķa di­rek­to­ri­ju, ieskaitot visus ap­akš­di­rek­to­ri­jus. Tiek sa­gla­bā­tas visas atļaujas, laika zīmogi un ierīces dati. Daudzos gadījumos tas ir ideāls un vien­kār­šā­kais ri­si­nā­jums, jo vienā parametrā apvieno dažādas iespējas. Ja šo režīmu ap­vie­no­jat ar -v parametru, dub­lē­ša­nas procesa laikā saņemsiet arī izsmeļošu in­for­mā­ci­ju par statusu.

rsync -av Source directory Target directory
bash

Kā avota un galamērķa ceļš ir jānorāda at­tie­cī­gais avota katalogs un katalogs, kurā rsync jāuzglabā dublējuma kopija.

Avota di­rek­to­ri­ja identiska kopija

rsync ne tikai var pārsūtīt failus no A uz B, bet arī izveidot iden­tis­kas mapju vai veselu di­rek­to­ri­ju kopijas. Pēc standarta ar­hi­vē­ša­nas tiek dzēsti tie faili, kas atradās mērķa mapē pirms rsync dublējuma veikšanas (bet nav avota mapē).

rsync -av --delete Source directory Target directory
bash

rsync dublējums, izslēdzot failus noteiktā formātā

Ja vēlaties veikt rsync dublējumu, izslēdzot failus konkrētā formātā, to var izdarīt, iz­man­to­jot komandu --exclude. Šis parametrs ļauj definēt in­di­vi­duā­lu rakstzīm­ju kom­bi­nā­ci­ju, ko rsync izmanto kā in­di­ka­to­ru, lai ignorētu failu. Turp­mā­ka­jā parauga kodā ir izslēgti .txt faili.

rsync -av --exclude'*.txt' Source directory Target directory
bash

Failu dublēšana ar minimālo vai maksimālo izmēru

Ja rsync dublējumā vēlaties, lai konkrētu failu iz­slēg­ša­nu noteiktu nevis pēc konkrēta rakstzīm­ju modeļa, bet gan pēc faila lieluma, varat izmantot pa­ra­met­rus --max-size un --min-size. Ja iz­man­to­jat šādu komandu, tiks kopēti tikai faili, kuru lielums ir no vismaz 10 MB līdz ne vairāk kā 100 MB:

rsync -av --min-size=10MB --max-size=100MB Source directory Target directory
bash

Datu dublējums, ieskaitot rakstzīm­ju formāta kon­ver­tē­ša­nu

Iespējams, ka mērķa di­rek­to­ri­jā būs ne­pie­cie­šams konvertēt failus citā rakstzīm­ju kodējumā. Ja, piemēram, vēlaties pārnest datus no Mac uz Linux serveri, būs ne­pie­cie­šams veikt rakstzīm­ju kodējuma kon­ver­tē­ša­nu. Apple ierīces pēc no­klu­sē­ju­ma izmanto UTF8-MAC, kas Linux sistēmās nav pieejams un radītu problēmas ar spe­ciā­la­jām rakstzī­mēm. --iconv. opcija ļauj viegli pielāgot rakstzīm­ju kodējumu kā daļu no rsync dublējuma procesa (zemāk redzamajā piemērā — no UTF8-MAC uz UTF8):

rsync -av --iconv=UTF8-MAC,UTF8 Source directory Target directory
bash

Pārskats par sva­rī­gā­ka­jām rsync dublējuma opcijām

Jūs varat definēt in­di­vi­duā­los ie­sta­tī­ju­mus savām rsync dub­lē­jum­ko­pi­jām, iz­man­to­jot dažādas opcijas, kuras var norādīt ar burtu sa­īsi­nā­ju­mu vai pilnu nosaukumu. Turp­mā­ka­jā tabulā ir apkopoti sva­rī­gā­kie parametri, kurus pēc va­ja­dzī­bas var kombinēt savā starpā:

Iespēja Funkcija
-r, --recursive rsync dublējums ņem vērā visus ap­akš­ka­ta­lo­gus
-u, --update No­rā­dī­jums izlaist mērķa di­rek­to­ri­jā failus, kas ir jaunāki par avota di­rek­to­ri­jā esošajiem
-c, --checksum Avota un mērķa failu at­šķir­ša­na, pa­ma­to­jo­ties uz kon­trolsum­mu
-l, --links Sim­bo­lis­kās saites tiek kopētas kā tādas (nevis kā faili)
-p, --perms Failu atļaujas tiek sa­gla­bā­tas
-g, --group Grupu failu atļaujas tiek sa­gla­bā­tas
-t, --times Failu laika zīmogi (pēdējās izmaiņas) tiek saglabāti
-o, --owner Tiek saglabāti failu īpašnieki (tikai tad, ja tie ir ad­mi­nis­tra­to­ri)
-D, --devices Ierīces dati tiek saglabāti
-z, --compress Pārsūtīto failu au­to­mā­tis­ka sa­spie­ša­na
--compress-level=NUM Nosaka sa­spie­ša­nas līmeni; ie­spē­ja­mās vērtības („NUM”) ir no 0 (bez sa­spie­ša­nas) līdz 9 (maksimālā sa­spie­ša­na)
-v, --verbose Sīkāka in­for­mā­ci­ja dub­lē­ša­nas procesa laikā
-q, --quiet Paslēpt visas detaļas par dub­lē­ša­nas procesu (izņemot kļūdu ziņojumus)
-a, --archive Ar­hi­vē­ša­nas režīms tiek izmantots kā standarta režīms un ir identisks opciju kom­bi­nā­ci­jai — rlptgoD
-n, --dry-run Pārbaudes darbs, kurā netiek veiktas faktiskas izmaiņas
-h, --help Papildu izvēlne (var izmantot tikai bez avota un mērķa di­rek­to­ri­ju vai citu argumentu no­rā­dī­ša­nas)
--bwlimit=KBPS Ierobežot joslas platumu (kilobaitu sekundē); piemēram, --bwlimit=30 (ie­ro­be­žo­jums 30 kbit/s)
--exclude=SAMPLE Izslēgt modeli no sin­hro­ni­zā­ci­jas; piemēram, --exclude sample folder (mapes „sample folder” netiek sin­hro­ni­zē­tas).
--delete Dzēst visus failus, kas atrodas mērķa di­rek­to­ri­jā, bet nav avota di­rek­to­ri­jā
--progress Parādīt rsync dublējumu ilgumu un pārraides ātrumu
--list-only Uzskaitīt failus, nevis dublējumu
--stats Izsmeļošs pārskats par pār­rai­dī­ta­jiem datiem (skaits, izmērs)
--max-size=SIZE Noteikt maksimālo faila izmēru, piemēram, --max-size=10MB (tiek pārnesti tikai faili, kuru izmērs ne­pār­sniedz 10 MB).
--ignore-errors Novērst dublējuma procesa pār­trauk­ša­nu kļūdas gadījumā
Go to Main Menu