Kā izveidot servera dublējumus, izmantojot rsync
Datu dublējumiem vajadzētu būt svarīgai lomai jūsu servera plānošanā. Atsevišķus dublējumus var ātri konfigurēt un veikt, izmantojot bezmaksas sinhronizācijas rīku vai rsync protokolu.
Kā iestatīt rsync dublējumus Linux serveros
Lai izmantotu rsync Linux operētājsistēmās, instalējiet protokolu ar tādu pašu nosaukumu un izveidojiet dublējumus , izmantojot termināļa komandas. Turpmākajā sadaļā mēs izmantosim Ubuntu, lai parādītu svarīgākos soļus dublējumu procesu konfigurēšanai, izmantojot rsync. Esam iekļāvuši arī praktiskus piemērus.
Ubuntu sistēmā rsync jau ir instalēts pēc noklusējuma. Ja tā nav, izmantojiet šādu komandu, lai to instalētu:
sudo apt-get install rsyncbashJa ir instalēta programma rsync, varat izmantot termināļa komandas, lai norādītu avota un galamērķa direktorijus, kā arī dublējuma opcijas. Kā avota un galamērķa ceļus ir jānorāda attiecīgais avota direktorijs un direktorijs, kurā rsync jāuzglabā dublējuma kopija. Standarta režīmu („Archive“) var izpildīt, piemēram, šādi:
rsync -a source directory target directorybashIzmantojiet testa palaidi -n, lai pārbaudītu norādīto parametru un direktoriju pareizību. Nepareizi ievadīti dati sliktākajā 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 nepietiekamām piekļuves tiesībām. Ja tā notiek, mēģiniet izpildīt komandu kā administrators, pievienojot 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 veidošanai. Jūs varat vai nu izmēģināt un pielietot atsevišķas komandu konfigurācijas, vai arī izmantot pārbaudītas pieejamo rsync parametru kombinācijas. Turpmākajās sadaļās esam apkopojuši piecus populārus veidus, kā veikt rsync dublējumus.
Standarta dublējums arhivēšanas režīmā
Arhivēšanas režīms kopē visus failus no avota direktorija uz mērķa direktoriju, ieskaitot visus apakšdirektorijus. Tiek saglabātas visas atļaujas, laika zīmogi un ierīces dati. Daudzos gadījumos tas ir ideāls un vienkāršākais risinājums, jo vienā parametrā apvieno dažādas iespējas. Ja šo režīmu apvienojat ar -v parametru, dublēšanas procesa laikā saņemsiet arī izsmeļošu informāciju par statusu.
rsync -av Source directory Target directorybashKā avota un galamērķa ceļš ir jānorāda attiecīgais avota katalogs un katalogs, kurā rsync jāuzglabā dublējuma kopija.
Avota direktorija identiska kopija
rsync ne tikai var pārsūtīt failus no A uz B, bet arī izveidot identiskas mapju vai veselu direktoriju kopijas. Pēc standarta arhivēšanas 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 directorybashrsync 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, izmantojot komandu --exclude. Šis parametrs ļauj definēt individuālu rakstzīmju kombināciju, ko rsync izmanto kā indikatoru, lai ignorētu failu. Turpmākajā parauga kodā ir izslēgti .txt faili.
rsync -av --exclude'*.txt' Source directory Target directorybashFailu dublēšana ar minimālo vai maksimālo izmēru
Ja rsync dublējumā vēlaties, lai konkrētu failu izslēgšanu noteiktu nevis pēc konkrēta rakstzīmju modeļa, bet gan pēc faila lieluma, varat izmantot parametrus --max-size un --min-size. Ja izmantojat šā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 directorybashDatu dublējums, ieskaitot rakstzīmju formāta konvertēšanu
Iespējams, ka mērķa direktorijā būs nepieciešams konvertēt failus citā rakstzīmju kodējumā. Ja, piemēram, vēlaties pārnest datus no Mac uz Linux serveri, būs nepieciešams veikt rakstzīmju kodējuma konvertēšanu. Apple ierīces pēc noklusējuma izmanto UTF8-MAC, kas Linux sistēmās nav pieejams un radītu problēmas ar speciālajām rakstzīmēm. --iconv. opcija ļauj viegli pielāgot rakstzīmju 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 directorybashPārskats par svarīgākajām rsync dublējuma opcijām
Jūs varat definēt individuālos iestatījumus savām rsync dublējumkopijām, izmantojot dažādas opcijas, kuras var norādīt ar burtu saīsinājumu vai pilnu nosaukumu. Turpmākajā tabulā ir apkopoti svarīgākie parametri, kurus pēc vajadzības var kombinēt savā starpā:
| Iespēja | Funkcija |
|---|---|
-r, --recursive
|
rsync dublējums ņem vērā visus apakškatalogus |
-u, --update
|
Norādījums izlaist mērķa direktorijā failus, kas ir jaunāki par avota direktorijā esošajiem |
-c, --checksum
|
Avota un mērķa failu atšķiršana, pamatojoties uz kontrolsummu |
-l, --links
|
Simboliskās saites tiek kopētas kā tādas (nevis kā faili) |
-p, --perms
|
Failu atļaujas tiek saglabātas |
-g, --group
|
Grupu failu atļaujas tiek saglabā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 administratori) |
-D, --devices
|
Ierīces dati tiek saglabāti |
-z, --compress
|
Pārsūtīto failu automātiska saspiešana |
--compress-level=NUM
|
Nosaka saspiešanas līmeni; iespējamās vērtības („NUM”) ir no 0 (bez saspiešanas) līdz 9 (maksimālā saspiešana) |
-v, --verbose
|
Sīkāka informācija dublēšanas procesa laikā |
-q, --quiet
|
Paslēpt visas detaļas par dublēšanas procesu (izņemot kļūdu ziņojumus) |
-a, --archive
|
Arhivēšanas režīms tiek izmantots kā standarta režīms un ir identisks opciju kombinācijai — 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 direktoriju vai citu argumentu norādīšanas) |
--bwlimit=KBPS
|
Ierobežot joslas platumu (kilobaitu sekundē); piemēram, --bwlimit=30 (ierobežojums 30 kbit/s)
|
--exclude=SAMPLE
|
Izslēgt modeli no sinhronizācijas; piemēram, --exclude sample folder (mapes „sample folder” netiek sinhronizētas).
|
--delete
|
Dzēst visus failus, kas atrodas mērķa direktorijā, bet nav avota direktorijā |
--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ārraidītajiem 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 nepārsniedz 10 MB).
|
--ignore-errors
|
Novērst dublējuma procesa pārtraukšanu kļūdas gadījumā |