S Rsync Linux: Kā izmantot un komandēt piemērus

Komandu izmantošana Linux ir vairāk nekā dabiska, jo tās ir Linux pamatā daudzus gadus, tāpēc mums ir jāapzinās, kā mēs izmantojam šīs komandas, jo, kā arī dažas ir praktiskas pamata uzdevumu veikšanai, citas var būt bīstami, ja mēs tos nepareizi pārvaldām. Viena no funkcionālākajām Linux komandām ir rsync protokols, kuru Solvetic jums sīki izskaidros visā šajā apmācībā. Vispirms redzēsim kas ir rsync.

Šobrīd jebkura lieluma infrastruktūras uzturēšana bez jebkādas rezerves kopijas var tikt uzskatīta par traku, disks jebkurā laikā var neizdoties un jūs varat zaudēt tik vērtīgu informāciju kā uzņēmuma grāmatvedība. Šajā rakstā mēs runāsim par to, kā izmantot Rsync - vienu no labākajiem * nix sistēmu dublēšanas rīkiem. Mēs redzēsim no vienkāršiem līdz sarežģītākiem piemēriem ar skriptiem un piemēriem, kurus varat izmantot savā darba vidē. Tā būs rokasgrāmata, lai uzzinātu, kā lietot rysnc.

Nepieciešamība pēc vienas un tās pašas informācijas dažādās vietās kļūst arvien spēcīgāka, jo mūsu darbvieta ir mainīga un mēs vēlamies, lai mūsu rīki vienmēr būtu pie mums vai pat kā rezerves pasākumi.

Kas ir rsync?Tas ir atvērtā koda rīks failu un direktoriju pārsūtīšanai no vienas vietas uz otru. Tās priekšrocības galvenokārt ir balstītas uz nosūtītās informācijas saspiešanu, tā ļauj pārsūtīt datus, izmantojot SSH kanālu, un pārsūta tikai tos failus un failu daļas, kas ir pārveidoti, nevis pārsūta visu failu vēlreiz. līdzīgi tam, kas notiek, pārsūtot atšķirības failā, izmantojot Git versiju kontroli.

Komanda rsync (attālā sinhronizācija) ir komanda, kas izstrādāta failu un direktoriju kopēšanai un sinhronizācijas uzdevumiem attālināti vai lokāli Linux vai UNIX sistēmās.

Ar šo komandu mēs varam izgatavot kopijas no:

  • Lokāli
  • Izmantojot attālo apvalku
  • Caur attālu rsync dēmonu

Rsync izmantoStarp dažādiem rsync lietojumiem ir šādi:

  • Automātiska dublēšana uz attāliem serveriem vai diskiem.
  • Attālā failu un direktoriju sinhronizācija.
  • Bieža failu pārsūtīšana.

Rsync priekšrocības

  • Tas ir ātrāks par scp (drošu kopēšanu), jo rsync izmanto augšupielādes protokolu, kas ļauj pārsūtīt tikai atšķirību starp failiem, pirmo reizi pārsūtot visu failu otro reizi tikai uz iespējamām izmaiņām.
  • Tas ir paredzēts attālai dublēšanai.
  • Atbalsta visu failu atļauju, piemēram, īpašnieka, mīksto grupu un cietās saites, kopēšanu.
  • Sūtot failus, izmantojiet mazāku joslas platumu, izmantojot saspiešanu.

Rsync ir delta pārsūtīšanas funkcionalitāte, kas ļauj samazināt tīklā nosūtīto datu apjomu, ļaujot nosūtīt tikai atšķirības starp avota failiem un esošajiem failiem attālajā galamērķī, tāpēc rsync ir ideāli piemērots dublēšanai un dublēšanai.
Rsync darbojas, meklējot pārsūtāmos failus, izmantojot lqquick checkqq algoritmu, kas ir atbildīgs par to failu meklēšanu, kuri ir cietuši no izmaiņām.

Rsync funkcijasDažas tās galvenās iezīmes ir šādas:

  • Integrē izslēgšanas opciju funkcijas, kas līdzīgas GNU tar
  • Tam ir atbalsts Linux saišu, ierīču, īpašnieku, grupu un atļauju kopēšanai
  • Pievienojiet CVS izslēgšanas režīmu, kas ļauj ignorēt tos pašus failus, kurus CVS ignorētu savā funkcijā
  • Nav nepieciešamas superlietotāja privilēģijas (root)
  • Mēs varam izmantot attālo apvalku, piemēram, ssh vai rsh
  • Nodrošina failu pārsūtīšanu, lai samazinātu tīkla latentuma izmaksas
  • Atbalsta autentificētus vai anonīmus rsync dēmonus
  • Tas ir ātrāk nekā scp

Mēs redzēsim, kā izmantot rsync un rsync parametrus, lai varētu veikt tādus uzdevumus kā rsync kopēt tikai jaunus failus vai rsync dzēst mērķa failus.

1. Kā lietot rsync

Šīs komandas izmantošanas sintakse ir šāda:

 rsync opciju resursa galamērķis 
Rsync mainīgieIzmantojot šo sintaksi, mēs varam pievienot dažus mainīgos, piemēram:

  • -v: detalizēts režīms.
  • -r: šī opcija datus kopē rekursīvi, neatstājot laika zīmogus un atļauju procesa laikā.
  • -a: faila režīms, kas ļauj rekursīvi kopēt failus un saglabā simboliskās saites, failu atļaujas, lietotāju un grupu īpašumtiesības un laika zīmogus.
  • -z: šī opcija saspiež failā esošos datus.
  • -h: cilvēka lasāms režīms, izvades numuri cilvēka lasāmā formātā.

Tagad apskatīsim dažus šīs komandas izmantošanas piemērus. Apmācības beigās Solvetic sniegs jums citus parametrus rsync izmantošanai Linux.

2. Kā instalēt rsync

1. darbība
Lielākajā daļā pašreizējo sistēmu rsync ir instalēts pēc noklusējuma, bet, ja tā nav, mēs varam izpildīt šādas darbības:

 yum install rsync (Red Hat - CentOS - Fedora) apt -get install rsync (Debian - Ubuntu)

PALIELINĀT

2. solis
Jebkurā gadījumā mums jāapstiprina rsync instalēšana, dažās sistēmās, piemēram, Ubuntu 20, tā jau nāk pēc noklusējuma:

3. Kopējiet failus un kopējiet direktorijus, izmantojot rsync


Pirmoreiz rsync tiek izmantota, lai lokāli kopētu vai sinhronizētu failu vai direktoriju. Apskatīsim, kā kopēt rsync failus, kopēt direktorijus ar rsync un sinhronizēt divus direktorijus ar rsync.

1. darbība
Šim nolūkam mēs izpildīsim sekojošo

 rsync -zvh "fails" "galamērķis" 

2. solis
Tur mēs varam redzēt tādas detaļas kā:

  • Dati nosūtīti
  • Saņemto datu apjoms
  • Pārsūtīšanas ātrums
  • Kopējais izmērs

3. solis
Ja gadījums ir vietējā kataloga kopēšana, mēs izpildīsim sekojošo:

 rsync -zvh "direktorijs" "galamērķis" 

4. Kopējiet vai sinhronizējiet attālās rsync mapes vai attālo direktoriju

1. darbība
Mēs varam lokāli kopēt vai sinhronizēt failus attālā datorā, tāpēc mēs izmantosim šādu sintaksi:

 rsync -avz fails / [email protected]: / galamērķis / 

2. solis
Ikreiz, kad izmantojam attālo IP, mums jāievada minētā attālā datora saknes parole. Tagad, ja mēs kopēsim attālo direktoriju uz mūsu vietējo serveri, mēs izmantosim šādu sintaksi:

 rsync -azvh [email protected]: / destination / directory / 

5. Rsync SSH kā lietot


SSH (Secure Shell) ir papildu drošības mehānisms datu pārsūtīšanai, tas tiek panākts, jo SSH izmanto drošu savienojumu ar augsti standartizētu šifrēšanu.

1. darbība
Ja mēs kopēsim vietējo failu attālā datorā ar SSH, mums jāizmanto opcija "-e" ar tā protokola nosaukumu, kuru vēlaties izmantot:

 rsync -avzhe ssh [email protected]: / galamērķis / direktorijs 

2. solis
Lai kopētu vietējo failu uz attālo serveri, mēs izmantosim šādu sintaksi:

 rsync -avzhe ssh "fails" [email protected]: / destination / 

3. solis
Mēs varam apstiprināt attālajā direktorijā, ka fails vai direktorijs ir nokopēts:

PALIELINĀT

6. Rsync parāda failu vai direktoriju pārsūtīšanas gaitu


Šī ir metode labākai pārsūtīšanas pārvaldībai, to panāk ar parametru -progress:
 rsync -avzhe ssh --progress / source [email protected]: / galamērķis 

7. Iekļaut vai izslēgt rsync direktorijus


Iespējas -iekļaut un -izslēgt ir opcijas, kas ļauj mums iekļaut vai izslēgt failus, kā arī ļauj mums norādīt sinhronizācijā iekļaujamos failus vai direktorijus vai izslēgt failus un mapes, kuras nevajadzētu pārsūtīt.

Tās izmantošana ir šāda:

 rsync -avze ssh -iekļaut 'Burtu *' -izslēgt ' *' [email protected]: / galamērķis 

8. Rsync izdzēš failus un direktorijus


Ja fails vai direktorijs nav avotā, bet tas jau ir pieejams galamērķī, mēs varam dzēst šo failu vai direktoriju sinhronizācijas procesa laikā, šim nolūkam mēs varam izmantot -delete, lai izdzēstu elementus, kas nav galamērķa datoru, mēs izpildīsim sekojošo:
 rsync -avz --dzēst [email protected]: / galamērķis 

9. Rsync Ierobežot faila lielumu


Izmantojot parametru -max -size, mēs varam norādīt, kurš ir maksimālais objektu lielums, ko pārsūtīt, izmantojot rsync, tas palīdz kontrolēt attālo telpu:
 rsync -avzhe ssh --max -size = '300k' / source / [email protected]: / galamērķis 

10. Rsync dzēš avota failus, ja pārsūtīšana bija veiksmīga

Ar mainīgo -remove-source-files ir iespējams, ka avotā sinhronizētie faili tiek likvidēti tikai tad, ja viss process ir bijis pareizs, tāpēc mēs izmantosim sekojošo. Mēs redzam, ka avota fails ir izdzēsts.

 rsync --remove-source-files -zvh "fails" / galamērķis / 

11. Palaidiet rsync, neietekmējot failus


Šī ir ideāla iespēja cilvēkiem, kuri pilnībā nezina rsync spējas, jo tas parāda, ko komanda darīs, bet neietekmē izcelsmi, piemēram, to panāk ar parametru -dry -run. Mēs redzam, ka fails joprojām ir tur.
 rsync --dry-run --remove-source-files -zvh "fails" / galamērķis / 

12. Ierobežot rsync joslas platumu


Izmantojot parametru -bwlimit, būs iespējams noteikt, kurš tīkla ātrums rsync jāizmanto sinhronizācijas uzdevumiem, tas tiek panākts šādi:
 rsync --bwlimit = 200 -avzhe ssh / source / [email protected]: / galamērķis 

13. Dublēšana, izmantojot Rsync


Dažreiz pirms izmaiņu veikšanas mums ir jādublē konkrēta informācija, un, ja tiek atkopta kļūda pēc dublēšanas, mēs sāksim ar laboratorijas dublēšanu no vienas mapes uz citu. Tādā veidā mēs izveidosim dublējumu ar rsync pilnīgā un drošā veidā.

1. darbība
Mēs sākam, pārbaudot, vai rsync ir instalēts.

 [lietotājs @ Solvetic ~] $ kas rsync / usr / bin / rsync
2. solis
Mēs izveidosim 2 mapes failu avotam un galamērķim.
 mkdir {backup1, backup2} 
3. solis
Mēs izveidojam vairākus failus mapē backup1, šajā gadījumā failu lielumam nav nozīmes.
 [user @ Solvetic ~] $ touch backup1 / fails {1… 75} 
4. solis
Katalogā jābūt 75 failiem. Mēs veicam dublējumu.
 [lietotājs @ Solvetic ~] $ ls backup1 / file1 fails14 fails19 fails23 fails28 fails32 fails37 fails41 fails46 fails50 fails55 fails6 fails64 fails69 fails73 fails10 fails15 fails2 fails24 fails29 fails33 fails38 fails42 fails47 fails51 fails56 fails60 fails65 fails7 fails74 fails11 fails16 fails20 fails25 fails3 fails34 fails39 fails43 fails48 fails5 fails fails57 fails61 fails66 fails70 fails75 fails12 fails17 fails21 fails26 fails30 fails35 fails4 fails44 fails49 fails53 fails58 fails52 fails62 fails67 fails71 fails8 fails13 fails18 fails22 fails27 fails31 fails36 fails40 fails45 fails5 fails54 fails59 fails63 fails68 fails72 fails9 fails
5. solis
Lai dublētu failus uz backup2, mēs izmantojam. Avotam ir jābeidzas ar / pretējā gadījumā tas kopētu mapi, nevis saturu.
 rsync -r backup1 / backup2 
6. darbība
Ja mēs ievadām dublējumkopiju2, mēs varam redzēt 75 failus, pat varam pārbaudīt, vai tie ir 2 identiski katalogi, izmantojot dif.
 [user @ Solvetic ~] $ diff backup1 backup2 
7. solis
Ja tiek izveidota mīksta saite no faila 1. direktorijā
 ln -s fails30 fails100 
8. solis
Izmantojot rsync ar -r, šajā gadījumā mēs neizmantojam mīksto saiti. Ja paskatāmies uz šo laiku, mīksto saiti mēs sinhronizēsim.
 rsync -dublējums1 / dublējums2 
PiezīmeJa neesam pārliecināti, ko atbalstīsim, mēs varam izmantot simulāciju ar -n, un kopā ar -v tas var būt ļoti noderīgs.
 [lietotājs @ Solvetic ~] $ rsync -anv backup1 / backup2 nosūtīts papildu failu saraksts nosūtīts 606 baiti saņemti 12 baiti 1236,00 baiti / s kopējais lielums ir 6 paātrinājums ir 0,01 (DRY RUN)

14. Citi Rsync parametri


Kā jau minējām, šie ir daži papildu parametri, ko izmantot ar rsync operētājsistēmā Linux:

Rsync parametri

  • -t, -reizes: saglabāt laika izmaiņas
  • -g, --grupa: saglabāt grupas
  • -o, -īpašnieks: paturiet objekta īpašnieku
  • -B, --block-size = SIZE: piespiest fiksētu kontrolsummas bloka izmēru
  • T, --temp-dir = DIR: šī vērtība izveido pagaidu failus DIR direktorijā
  • z, -saspiest: pārsūtīšanas laikā saspiest faila datus
  • -4, --ipv4: izmantojiet tikai IPv4
  • -6, --ipv6: izmantojiet tikai IPv6

Ir daudz vairāk mainīgo, taču tie ir vairāk nekā pietiekami, lai jūs varētu maksimāli izmantot Linux rsync. Mēs esam redzējuši, kā izmantot rsync ar visnoderīgākajām iespējām, kopā ar tādiem rīkiem kā cron un bash skripti, python mums būs viss nepieciešamais, lai izveidotu rezerves kopijas, neizmantojot trešo pušu rīkus.

wave wave wave wave wave