▷ „Rsync Linux“: kaip naudoti ir komandų pavyzdžiai

Komandų naudojimas „Linux“ yra daugiau nei natūralus, nes jos daugelį metų buvo „Linux“ širdis, todėl turime žinoti, kaip mes naudojame šias komandas, nes kai kurios yra praktiškos atliekant pagrindines užduotis, kitos gali būti pavojingi, jei netinkamai juos valdome. Viena iš funkcionaliausių „Linux“ komandų yra „rsync“ protokolas, kurį „Solvetic“ jums išsamiai paaiškins per šią mokymo programą. Pirmiausia pažiūrėkime kas yra rsync.

Šiuo metu bet kokio dydžio infrastruktūros priežiūra be jokios atsarginės kopijos gali būti laikoma beprotiška, diskas gali sugesti bet kuriuo metu ir galite prarasti tokią vertingą informaciją kaip įmonės apskaita. Šiame įraše kalbėsime apie tai, kaip naudoti „Rsync“, vieną iš geriausių įrankių atsarginėms kopijoms * nix sistemose. Pamatysime nuo paprasčiausių iki sudėtingesnių pavyzdžių su scenarijais ir pavyzdžiais, kuriuos galite pritaikyti savo darbo aplinkoje. Tai bus vadovas, skirtas žinoti, kaip naudoti „rysnc“.

Poreikis turėti tą pačią informaciją skirtingose ​​vietose tampa vis stipresnis, nes mūsų darbo sritis yra kintanti ir mes norime, kad mūsų įrankiai visada būtų su savimi arba netgi kaip atsarginės priemonės.

Kas yra rsync?Tai atviro kodo įrankis, skirtas failų ir katalogų perkėlimui iš vienos vietos į kitą. Jos pranašumai daugiausia grindžiami siunčiamos informacijos suspaudimu, ji leidžia perduoti per SSH kanalą ir perduoda tik pakeistus failus ir failų dalis, o ne perkelia visą failą dar kartą. panaši į tai, kas nutinka perkeliant failo skirtumus valdant „Git“ versijos valdymą.

Komanda rsync (nuotolinis sinchronizavimas) yra komanda, sukurta failų ir katalogų kopijavimo ir sinchronizavimo užduotims nuotoliniu būdu arba vietoje Linux arba UNIX sistemose.

Naudodami šią komandą galime padaryti kopijas iš:

  • Lokaliai
  • Naudojant nuotolinį apvalkalą
  • Per nuotolinį rsync demoną

Rsync naudojaTarp įvairių „rsync“ naudojimo būdų yra šie:

  • Automatinis atsarginių kopijų kūrimas į nuotolinius serverius ar diskus.
  • Nuotolinis failų ir katalogų sinchronizavimas.
  • Įprastas failų perdavimas.

„Rsync“ pranašumai

  • Jis yra greitesnis už „scp“ (saugi kopija), nes „rsync“ naudoja įkėlimo protokolą, leidžiantį perkelti tik skirtumą tarp failų, pirmą kartą visą failą perkeliant antrą kartą tik galimus pakeitimus.
  • Jis skirtas nuotolinėms atsarginėms kopijoms kurti.
  • Palaiko visų failų leidimų, pavyzdžiui, savininko, minkštųjų grupių ir kietosios nuorodos, kopijavimą.
  • Naudodami glaudinimą siųsdami failus, naudokite mažiau pralaidumo.

„Rsync“ turi trikampio perkėlimo funkciją, leidžiančią sumažinti per tinklą siunčiamų duomenų kiekį, leidžiant siųsti tik skirtumus tarp šaltinio failų ir esamų failų nuotolinėje paskirties vietoje, todėl „rsync“ idealiai tinka atsarginėms kopijoms ir kopijavimui.
„Rsync“ veikia ieškodama failų, kuriuos reikia perkelti naudojant „lqquick checkqq“ algoritmą, kuris yra atsakingas už failų, kurie buvo pakeisti, paiešką.

„Rsync“ funkcijosKai kurios pagrindinės jo savybės yra šios:

  • Integruotos neįtraukimo parinkčių funkcijos, panašios į GNU tar
  • Jis palaiko „Linux“ nuorodų, įrenginių, savininkų, grupių ir leidimų kopijavimą
  • Pridėkite CVS išskyrimo režimą, kuris leidžia ignoruoti tuos pačius failus, kurių CVS nepaisytų savo funkcijoje
  • Nereikalauja super vartotojo teisių (root)
  • Mes galime naudoti nuotolinį apvalkalą, pvz., Ssh arba rsh
  • Pateikia failų perdavimo sistemą, kad būtų sumažintos tinklo delsos išlaidos
  • Palaiko autentifikuotus arba anoniminius rsync demonus
  • Tai greičiau nei scp

Pažiūrėsime, kaip naudoti „rsync“ ir „rsync“ parametrus, kad galėtume atlikti tokias užduotis kaip „rsync“ kopijuoti tik naujus failus arba „rsync“ ištrinti tikslinius failus.

1. Kaip naudotis rsync

Šios komandos naudojimo sintaksė yra tokia:

 rsync parinkčių išteklių paskirties vieta 
Rsync kintamiejiNaudodami šią sintaksę galime pridėti keletą kintamųjų, tokių kaip:

  • -v: daugiažodis režimas.
  • -r: Ši parinktis kopijuoja duomenis rekursyviai, nepaliekant laiko žymių ir leidimo proceso metu.
  • -a: failo režimas, leidžiantis rekursyviai kopijuoti failus ir išsaugoti simbolines nuorodas, failų leidimus, vartotojo ir grupės nuosavybės teises bei laiko žymes.
  • -z: Ši parinktis suspaudžia failo duomenis.
  • -h: žmogaus skaitomas režimas, išvesties numeriai žmogaus skaitomu formatu.

Dabar pažiūrėkime keletą pavyzdžių, kaip naudoti šią komandą. Pamokos pabaigoje „Solvetic“ pateiks kitus parametrus, kaip naudoti „rsync“ „Linux“.

2. Kaip įdiegti rsync

1 žingsnis
Daugelyje dabartinių sistemų „rsync“ yra įdiegta pagal numatytuosius nustatymus, tačiau jei ne, galime atlikti šiuos veiksmus:

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

DIDELIS

2 žingsnis
Bet kokiu atveju turime patvirtinti rsync diegimą, kai kuriose sistemose, tokiose kaip „Ubuntu 20“, jis jau yra numatytasis:

3. Nukopijuokite failus ir nukopijuokite katalogus naudodami rsync


Pirmasis rsync naudojimas yra failo ar katalogo kopijavimas arba sinchronizavimas vietoje. Pažiūrėkime, kaip nukopijuoti rsync failus, nukopijuoti katalogus su rsync ir sinchronizuoti du katalogus su rsync.

1 žingsnis
Norėdami tai padaryti, atliksime šiuos veiksmus

 rsync -zvh "failas" "paskirties vieta" 

2 žingsnis
Ten galime pamatyti tokias detales kaip:

  • Duomenys išsiųsti
  • Gauta duomenų suma
  • Perdavimo greitis
  • Bendras dydis

3 žingsnis
Jei reikia kopijuoti katalogą vietoje, atliksime šiuos veiksmus:

 rsync -zvh "katalogas" "paskirties vieta" 

4. Nukopijuokite arba sinchronizuokite nuotolinius rsync aplankus arba nuotolinį katalogą

1 žingsnis
Galime vietoje nukopijuoti arba sinchronizuoti failus į nuotolinį kompiuterį, tam naudosime šią sintaksę:

 rsync -avz failas / [email protected]: / tikslas / 

2 žingsnis
Kai naudojame nuotolinį IP, turime įvesti minėto nuotolinio kompiuterio pagrindinį slaptažodį. Dabar, jei ketiname nukopijuoti nuotolinį katalogą į savo vietinį serverį, naudosime šią sintaksę:

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

5. Kaip naudoti „Rsync SSH“


SSH (Secure Shell) yra papildomas duomenų perdavimo saugumo mechanizmas, kuris pasiekiamas, nes SSH naudoja saugų ryšį su labai standartizuotu šifravimu.

1 žingsnis
Jei ketiname nukopijuoti vietinį failą į nuotolinį kompiuterį su SSH, turime naudoti parinktį „-e“ su norimo naudoti protokolo pavadinimu:

 rsync -avzhe ssh [email protected]: / paskirtis / katalogas 

2 žingsnis
Norėdami nukopijuoti vietinį failą į nuotolinį serverį, naudosime šią sintaksę:

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

3 žingsnis
Nuotoliniame kataloge galime patvirtinti, kad failas ar katalogas buvo nukopijuotas:

DIDELIS

6. „Rsync“ rodo failo ar katalogo perkėlimo eigą


Tai yra geresnio perdavimo valdymo metodas, kuris pasiekiamas naudojant parametrą -progress:
 rsync -avzhe ssh --progress / source [email protected]: / paskirties vieta 

7. Įtraukti arba neįtraukti rsync katalogų


Įtraukimo ir įtraukimo parinktys yra parinktys, leidžiančios įtraukti arba neįtraukti failų, taip pat leidžia mums nurodyti failus ar katalogus, kuriuos reikia įtraukti į sinchronizavimą, arba neįtraukti failų ir aplankų, kurie neturėtų būti perkelti.

Jo naudojimas yra toks:

 rsync -avze ssh -įtraukite 'Letter *' -neįtraukite ' *' [email protected]: / paskirties 

8. „Rsync“ ištrina failus ir katalogus


Jei failo ar katalogo nėra šaltinyje, bet jis jau yra paskirties vietoje, sinchronizavimo proceso metu galime ištrinti tą failą ar katalogą, tam galime naudoti -delete, kad ištrintume elementus, kurių nėra paskirties kompiuterį, atliksime šiuos veiksmus:
 rsync -avz -ištrinti [email protected]: / tikslas 

9. Rsync Riboti failo dydį


Naudodami parametrą -max -size galime nurodyti, koks yra didžiausias objektų, kuriuos reikia perkelti naudojant rsync, dydis, tai padeda valdyti nuotolinę erdvę:
 rsync -avzhe ssh --max -size = '300k' / source / [email protected]: / paskirties vieta 

10. „Rsync“ ištrina šaltinio failus, jei perkėlimas buvo sėkmingas

Naudojant kintamąjį -remove-source-files, gali būti, kad šaltinyje sinchronizuoti failai bus pašalinti tik tuo atveju, jei visas procesas buvo teisingas, todėl naudosime šiuos dalykus. Matome, kad šaltinio failas buvo ištrintas.

 rsync --remove-source-files -zvh "failas" / paskirties vieta / 

11. Vykdykite rsync nepažeisdami failų


Tai idealus pasirinkimas žmonėms, kurie visiškai nežino „rsync“ galios, nes tai rodo, ką komanda padarys, bet neturi įtakos kilmei, pavyzdžiui, tai pasiekiama naudojant parametrą -dry -run. Matome, kad failas vis dar yra.
 rsync --dry-run --remove-source-files -zvh "failas" / paskirties vieta / 

12. Apriboti rsync pralaidumą


Naudojant parametrą -bwlimit bus galima nustatyti, kurį tinklo greitį rsync turėtų naudoti sinchronizavimo užduotims, tai pasiekiama taip:
 rsync --bwlimit = 200 -avzhe ssh / source / [email protected]: / paskirties vieta 

13. Atsarginė kopija naudojant „Rsync“


Kartais prieš atlikdami pakeitimus turime sukurti atsarginę tam tikros informacijos atsarginę kopiją, o jei atkuriant atsarginę kopiją atsiras klaida, pradėsime nuo laboratorijos atsarginių kopijų kūrimo iš vieno aplanko į kitą. Tokiu būdu mes visiškai ir saugiai sukursime atsarginę kopiją su rsync.

1 žingsnis
Pradedame nuo patikrinimo, ar įdiegta rsync.

 [user @ Solvetic ~] $ which rsync / usr / bin / rsync
2 žingsnis
Mes sukursime 2 aplankus failų šaltiniui ir paskirties vietai.
 mkdir {atsarginė kopija1, atsarginė kopija2} 
3 žingsnis
Mes sukuriame kelis failus aplanke backup1, šiuo atveju failų dydis nesvarbus.
 [user @ Solvetic ~] $ touch backup1 / file {1… 75} 
4 žingsnis
Kataloge turėtų būti 75 failai. Mes darome atsarginę kopiją.
 [user @ Solvetic ~] $ ls backup1 / file1 file14 file19 file23 file28 file32 file37 file41 file46 file50 file55 file6 file64 file69 file73 file10 file10 file15 file2 file24 file29 file33 file38 file42 file47 file51 file56 file60 file65 file7 file74 file11 file16 file20 file25 file3 file34 file39 file43 file48 file5 byla57 failas61 failas66 failas70 failas75 failas12 failas17 failas21 failas26 failas
5 žingsnis
Norėdami sukurti atsargines failų atsargines kopijas, naudojame 2. Šaltinio pabaiga turi būti / kitaip jis nukopijuos jo aplanką, o ne turinį.
 rsync -r backup1 / backup2 
6 žingsnis
Jei įvesime atsarginę kopiją2, galime pamatyti 75 failus, netgi galime patikrinti, ar jie yra 2 identiški katalogai, naudojant dif.
 [user @ Solvetic ~] $ diff backup1 backup2 
7 žingsnis
Jei sukuriate minkštą nuorodą iš 1 katalogo failo
 ln -s failas30 failas100 
8 žingsnis
Naudojant rsync su -r, šiuo atveju mes nesudarysime minkštosios nuorodos. Jei pažvelgsime į šį laiką, minkšta nuoroda bus sinchronizuota.
 rsync -atsarginė kopija1 / atsarginė kopija2 
PastabaJei nesame tikri, ką palaikysime, galime naudoti modeliavimą su -n, o kartu su -v tai gali būti labai naudinga.
 [user @ Solvetic ~] $ rsync -anv atsarginė kopija1 / atsarginė kopija2 siunčiamas papildomas failų sąrašas, išsiųstas 606 baitai, gauti 12 baitų 1236,00 baitai per sekundę, bendras dydis yra 6 pagreitis yra 0,01 (DRY RUN)

14. Kiti „Rsync“ parametrai


Kaip minėjome, tai yra keletas papildomų parametrų, kuriuos reikia naudoti naudojant „rsync“ „Linux“:

Rsync parametrai

  • -t, --times: laikykitės laiko keitimo
  • -g, --group: išlaikyti grupes
  • -o, -savininkas: pasilikite objekto savininką
  • -B, --block-size = SIZE: priversti fiksuotą kontrolinės sumos bloko dydį
  • T, --temp-dir = DIR: ši vertė sukuria laikinus failus DIR kataloge
  • z, --compress: persiuntimo metu suspauskite failo duomenis
  • -4, --ipv4: naudokite tik IPv4
  • -6, --ipv6: naudokite tik IPv6

Yra daug daugiau kintamųjų, tačiau jų yra daugiau nei pakankamai, kad galėtumėte kuo geriau išnaudoti „rsync“ „Linux“. Mes matėme, kaip naudoti „rsync“ su pačiomis naudingiausiomis parinktimis, kartu su įrankiais, tokiais kaip „cron“ ir „bash“ scenarijai, „python“ turėsime viską, ko reikia atsarginėms kopijoms kurti be trečiųjų šalių įrankių.

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave