15 Rsync pavyzdžių

15 Rsync Pavyzdziu



Failų perkėlimas iš vienos vietos į kitą yra labai dažna Linux vartotojo užduotis. Šiai užduočiai atlikti Linux sistemoje yra daug parinkčių; „rsync“ yra vienas iš jų. Visa „rsync“ forma yra „Remote Sync“. Tai labai naudinga sinchronizavimo priemonė, skirta kopijuoti failus ir aplankus iš vienos sistemos į kitą sistemą vietoje arba nuotoliniu būdu. Jis turi daug daugiau privalumų nei kiti sinchronizavimo įrankiai. Pagal numatytuosius nustatymus šis įrankis įdiegtas Linux sistemoje. Taigi vartotojas nereikalauja jo įdiegti. Komandos „rsync“ pranašumai ir naudojimo būdai pateikiami šioje pamokoje naudojant 15 paprastų pavyzdžių.

„Rsync“ komandos pranašumai

  1. Jis yra greitesnis nei kiti įrankiai, nes iš šaltinio vietos į paskirties vietą kopijuoja tik tuos failus, kurie yra modifikuoti arba kurių nėra paskirties vietoje.
  2. Tai palaiko nepilną perdavimą.
  3. Tam reikia mažesnio pralaidumo, nes perduodant duomenis suspaudžiami.
  4. Tai sumažina perdavimo išlaidas, nes mažiau svarbūs duomenys gali būti perduodami be šifravimo.

Sintaksė

Komandos „rsync“ sintaksė pateikiama taip:

rsync [Parinktis] Šaltinio paskirties vieta

Čia šaltinio ir paskirties keliai gali būti vietiniai arba nuotoliniai. Skirtingiems tikslams su šia komanda galima naudoti įvairių tipų parinktis.







Naudingos „Rsync“ komandos parinktys

Kai kurios dažniausiai naudojamos „rsync“ komandos parinktys paaiškinamos toliau:



Parinktis Tikslas
-Su Jis naudojamas duomenims suspausti perdavimo metu.
-r Jis naudojamas duomenims sinchronizuoti rekursyviai, neišlaikant jokio failo leidimo.
-a Jis naudojamas duomenims sinchronizuoti rekursyviai, išsaugant visus failo leidimus.
-b Jis naudojamas duomenų atsarginei kopijai saugoti perdavimo metu.
Jis naudojamas norint parodyti išvestį išsamiu formatu.
-p Jis naudojamas norint parodyti perdavimo eigą.
-n Jis naudojamas norint patikrinti, ar sinchronizavimas veikia, ar ne, prieš perkeliant failus ar aplankus.

15 „Rsync“ pavyzdžių sąrašas

  1. Perkelkite vieną failą ir aplanką vietoje
  2. Perkelkite kelis failus ir aplankus vietoje
  3. Perkelkite vieną failą ir aplanką nuotoliniu būdu
  4. Perkelkite kelis failus ir aplankus nuotoliniu būdu
  5. Rodyti perkėlimo eigą
  6. Suspauskite duomenis perdavimo metu
  7. Perdavimas su pralaidumo riba
  8. Perkelkite failus ir aplankus rekursyviai
  9. Perkėlimas su minimalaus dydžio riba
  10. Perkėlimas naudojant maksimalaus dydžio ribą
  11. Perkelkite konkretaus tipo failus
  12. Rodyti skirtumus tarp šaltinio ir paskirties failų
  13. Įtraukti arba neįtraukti failus perkėlimo metu
  14. Sinchronizuokite duomenis sausuoju režimu
  15. Po perdavimo ištrinkite šaltinio failus ir aplankus

Perkelkite vieną failą ir aplanką vietoje

Paleiskite komandą „ls“, kad būtų rodomas dabartinės vietos failų ir aplankų sąrašas. Tada paleiskite komandą „rsync“, kad perkeltumėte failą „employees.txt“ į „employees_copy.txt“ failą vietoje. Dar kartą paleiskite komandą „ls“, kad patikrintumėte, ar failas perkeltas tinkamai, ar ne.



ls $
$ rsync darbuotojai.txt darbuotojai_copy.txt
ls $

Ši išvestis rodo, kad failas „employee.txt“ sėkmingai perkeltas:





Tarkime, laikinojo aplanko turinį reikia perkelti į aplanką tempdir, kuriame abiejuose aplankuose yra failas „courses.txt“. Paleiskite komandą „ls temp“, kad patikrintumėte laikinojo aplanko turinį. Tada paleiskite komandą „cat temp/courses.txt“, kad patikrintumėte šio failo turinį. Tada paleiskite komandą „ls tempdir“, kad patikrintumėte aplanko tempdir turinį. Tada paleiskite komandą „cat tempdir/courses.txt“, kad patikrintumėte šio failo turinį.



$ ls temp
$ cat temp/courses.txt
$ lstempdir
$ cat tempdir/courses.txt

Išvestis rodo, kad temp ir tempdir aplankų failo „courses.txt“ turinys šiek tiek skiriasi, o laikinojo aplanko „courses.txt“ faile yra daugiau duomenų nei aplanko tempdir faile „courses.txt“. .

Vykdykite šią komandą, kad perkeltumėte laikinojo aplanko turinį į aplanką tempdir, ir patikrinkite aplanko tempdir failo „courses.txt“ turinį, kad įsitikintumėte, jog failas atnaujintas tinkamai, ar ne:

$ rsync -a temp/ tempdir/
$ lstempdir
$ cat tempdir/courses.txt

Ši išvestis rodo, kad laikinojo aplanko turinys tinkamai perkeltas į aplanką tempdir, o aplanko tempdir failo „courses.txt“ turinys yra tinkamai atnaujintas:

Perkelkite kelis failus ir aplankus vietoje

„rsync“ komanda gali būti naudojama norint perkelti kelis failus ir aplankus vietoje. Vykdykite šią komandą, kad perkeltumėte 'ping1.bash' ir 'ping2.bash' failus į aplanką tempdir ir patikrinkite aplanko tempdir turinį po perdavimo. Parinktis -v naudojama su komanda „rsync“, kad išvestis būtų rodoma išsamiu formatu:

$ rsync -v ping1.bash ping2.bash tempdir/
$ lstempdir

Ši išvestis rodo, kad keli failai tinkamai perkelti į aplanką tempdir:

Vykdykite šias komandas, kad patikrintumėte temp, tempdir ir test aplankų turinį ir perkeltumėte testo ir tempdir aplanko turinį į temp aplanką:

$ ls temp
$ lstempdir
$ ls testas
$ rsync -av test/ tempdir/ temp/
$ ls temp

Išvestis rodo, kad testo ir tempdir aplankų turinys sėkmingai perkeltas į laikinąjį aplanką. Failai „customers.csv“, „ping1.bash“ ir „ping2.bash“ pridedami kaip nauji failai į laikinąjį aplanką:

Perkelkite vieną failą ir aplanką nuotoliniu būdu

Norėdami nuotoliniu būdu perkelti failus ir aplankus, turite įdiegti ir sukonfigūruoti SSH serverį nuotolinėje vietoje. Galite tai patikrinti pamoka Norėdami sukonfigūruoti SSH serverį.

Paleiskite šią komandą, kad patikrintumėte dabartinės vietos failo „courses.txt“ dydį:

ls -la kursai.txt

Išvestis rodo, kad failo „courses.txt“ dydis yra 65 baitai:

Vykdykite šią komandą, kad perkeltumėte failą „courses.txt“ į /home/ubuntu/kursai/ nuotolinės vietos aplankas, ubuntu@192.168.0.101. Prieš perkeldami failą, turite pateikti nuotolinio kompiuterio pagrindinį slaptažodį:

rsync -v courses.txt  ubuntu@192.168.0.101:/home/ubuntu/courses/

Ši išvestis rodo, kad failas „courses.txt“ tinkamai perkeltas į nuotolinį įrenginį, o failo dydis yra 65 baitai:

Vykdykite šią komandą, kad perkeltumėte laikinąjį aplanką į /home/ubuntu/kursai/ nuotolinės vietos aplankas, ubuntu@192.168.0.101. Prieš perkeldami failą, kaip ir ankstesnėje komandoje, turite pateikti nuotolinio kompiuterio pagrindinį slaptažodį.

rsync -av temp/ ubuntu@192.168.0.101:/home/ubuntu/courses/

Ši išvestis rodo, kad laikinojo aplanko turinys tinkamai perkeltas į nuotolinį įrenginį:

Perkelkite kelis failus ir aplankus nuotoliniu būdu

Ši komanda „rsync“ perkelia „customers.csv“ ir „department.json“ failus į /home/Ubuntu/files/ nuotolinės vietos aplankas, ubuntu@192.168.0.101.

rsync -av customers.csv Department.json ubuntu@192.168.0.101:/home/ubuntu/files/

Ši išvestis rodo, kad keli failai sėkmingai perkelti į nuotolinę vietą:

Ši komanda „rsync“ perkelia temp ir testo aplankų turinį bei failą „department.json“ į /home/Ubuntu/files/ nuotolinės vietos aplankas, ubuntu@192.168.0.101.

rsync -av temp/test/ Department.json ubuntu@192.168.0.101:/home/ubuntu/files/

Ši išvestis rodo, kad kelių aplankų turinys sėkmingai perkeltas į nuotolinę vietą:

Rodyti perkėlimo eigą

Vykdykite komandą „rsync“ naudodami parinktį –progress, kad perkeltumėte aplanko tempdir turinį į aplanką temp_copy su eigos informacija.

rsync -a tempdir/ temp_copy --progress

Ši išvestis rodo, kad katalogas temp_copy sukurtas vietoje, o aplanko tempdir turinys sėkmingai perkeltas į aplanką temp_copy:

Suspauskite duomenis perdavimo metu

Vykdykite šią „rsync“ komandą su –z parinktimi, kad suspaustumėte ir perkeltumėte tempdir katalogą į bandomąjį katalogą vietoje:

rsync -za tempdir/test/

Ši išvestis rodo, kad suglaudintas katalogas sėkmingai perkeltas vietoje:

Perdavimas su pralaidumo riba

Vykdykite šią komandą „rsync“ su parinktimi –bwlimit su 100 reikšme, kad perkeltumėte /etc/passwd failą į laikinąjį aplanką vietoje:

rsync -v --bwlimit=100 etc/passwd temp/

Ši išvestis rodo, kad failas passwd sėkmingai perkeltas:

Perkelkite failą ir aplanką rekursyviai

Vykdykite šią komandą „rsync“ su parinktimi –rv, kad perkeltumėte bandomąjį aplanką į aplanką test_bak vietoje:

rsync -rv test/ test_bak/

Ši išvestis rodo, kad bandomasis aplankas sėkmingai perkeltas į aplanką test_bak:

Perkėlimas su minimalaus dydžio riba

Failų ir aplankų perkėlimas naudojant komandą „rsync“ gali būti apribotas naudojant parinktį –min-size, kad būtų nustatytas minimalus failų ir aplankų perkėlimo dydis. Paleiskite šią komandą „ls -la tempdir“, kad patikrintumėte kiekvieno šio aplanko failo ir aplanko dydį. Tada paleiskite komandą „rsync“, kad perkeltumėte aplanko tempdir turinį į aplanką tempdir_bak su minimalaus dydžio apribojimu.

ls -la tempdir
rsync -av --min-size='245B' tempdir/tempdir_bak

Ši išvestis rodo, kad aplanke tempdir yra du failai, kurie atitinka minimalų dydį. Tai yra „ping1.bash“ (248 baitai) ir „test.txt“ (34504 baitai). Šie failai perkeliami į aplanką tempdir_bak, o kiti aplanko tempdir failai praleidžiami:

Perkėlimas naudojant maksimalaus dydžio ribą

Failų ir aplankų perkėlimas naudojant komandą „rsync“ gali būti apribotas naudojant parinktį –max-size, kad būtų nustatytas maksimalus perkeliamų failų ir aplankų dydžio limitas. Paleiskite šią komandą „ls -la temp“, kad patikrintumėte kiekvieno šio aplanko failo ir aplanko dydį. Tada paleiskite komandą „rsync“, kad perkeltumėte laikinojo aplanko turinį į aplanką temp_bak su didžiausio dydžio apribojimu.

ls -la temp
rsync --max-size='250B' temp/ temp_bak/

Ši išvestis rodo, kad laikinajame aplanke yra keturi failai, atitinkantys didžiausią dydžio ribą. Tai yra „courses.txt“ (65 baitai), „darbuotojai.csv“ (361 baitai), „ping1.bash“ (248 baitai) ir „ping2.bash“ (244 baitai). Šie failai perkeliami į aplanką temp_bak, o kiti failai temp aplanke praleidžiami:

Perkelkite konkretaus tipo failus

Perkeliamo failo tipą galima nustatyti paminėjus failo plėtinį komandoje „rsync“. Vykdykite šią komandą „rsync“, kad perkeltumėte visus laikinojo aplanko tekstinius failus į aplanką mydir. Čia tekstinio failo plėtinys žymimas „*.txt“:

rsync -v temp/*.txt mydir/

Ši išvestis rodo, kad du tekstiniai failai „kursai.txt“ ir „testas.txt“ perkeliami į aplanką mydir, o kiti laikinojo aplanko failai yra praleisti:

Rodyti skirtumus tarp šaltinio ir paskirties failų

Kai failai arba aplankai perkeliami iš vienos vietos į kitą vietoje arba nuotoliniu būdu, abiejose vietose gali būti tie patys failai arba aplankai. Šaltinio ir paskirties skirtumus perdavimo metu galima išnagrinėti naudojant parinktį -i su komanda „rsync“. Paleiskite šias „katės“ komandas, kad patikrintumėte šaltinio ir paskirties failo turinį prieš perkeliant. Čia failas 'courses.txt' perkeliamas į laikinąjį aplanką.

kačių kursai.txt
cat temp/courses.txt
rsync -avi kursai.txt temp/

Toliau pateikta išvada rodo, kad šaltinio ir paskirties failas „courses.txt“ šiek tiek skiriasi. Komandos „rsync“ išvestis rodo skirtumą tarp failų:

Sinchronizuokite duomenis sausuoju režimu

Jei norite sužinoti, kurie failai ir aplankai perkeliami komanda „rsync“ prieš faktinį perkėlimą, geriau paleisti komandą „rsync“ su parinktimi –dry-run arba –n. Kai komanda „rsync“ vykdoma naudojant šią parinktį, ji patikrina, kurie failai ar aplankai yra nukopijuoti iš šaltinio aplanko į paskirties aplanką, tačiau paskirties aplankas lieka nepakitęs. Paleiskite failą „ls –la Department.json“, kad patikrintumėte failo dydį. Tada paleiskite komandą „rsync“ sauso veikimo režimu, kad patikrintumėte „department.json“ perkėlimą į laikinąjį aplanką.

ls -la departamentas.json
rsync -v --dry-run Department.json temp/

Ši išvestis rodo, kad „department.json“ failo dydis yra 1172 baitai. Failo dydis rodo 1172 baitus, kai įvykdoma komanda „rsync“ su parinktimi –dry-run:

Įtraukti arba neįtraukti failus perkėlimo metu

Perkeldami iš šaltinio į paskirties vietą galite filtruoti failo tipą, naudodami parinktis –include ir –exclude. Parinktis „optionssinclude“ naudojama norint apibrėžti tų failų, kurie bus perkelti iš šaltinio į paskirties vietą, plėtinį. Parinktis –exclude naudojama norint apibrėžti tų failų, kurie nebus perkelti iš šaltinio į paskirties vietą, plėtinį.

Paleiskite šį aplanką „ls temp“, kad patikrintumėte laikinojo aplanko turinį. Tada paleiskite komandą „rsync“ su parinktimis –include ir –exclude. Pagal komandą visi laikinojo aplanko CSV failai perkeliami į failų aplanką, o visi laikinojo aplanko tekstiniai failai perkėlimo metu yra praleisti. Tada paleiskite komandą „ls files“, kad patikrintumėte, kurie failai perkeliami iš laikinojo aplanko į failų aplanką.

ls temp
rsync -a temp/ files/ --include=*.csv --exclude=*.txt
ls failus

Ši išvestis rodo, kad laikinajame aplanke yra du CSV failai, du tekstiniai failai ir du BASH failai. Failų aplankas tuščias prieš perkeliant ir perduodami du CSV failai ir du BASH failai:

Po perdavimo ištrinkite šaltinio failus ir aplankus

Ankstesnėse visose „rsync“ komandose šaltinio failai ir aplankai lieka šaltinio vietoje po perkėlimo į paskirties vietą. Tačiau kartais reikia visam laikui perkelti failus ir aplankus į paskirties vietą. Šią užduotį galima atlikti naudojant parinktį –remove-source-files su komanda „rsync“. Paleiskite komandą „ls“, kad patikrintumėte visus dabartinės vietos failus ir aplankus. Paleiskite komandą „ls temp“, kad patikrintumėte laikinojo aplanko failus ir aplankus. Tada paleiskite komandą „rsync“ su parinktimi –remove-source-files, kad užbaigę perkėlimą ištrintumėte šaltinio vietos failus ir aplankus. Dar kartą paleiskite komandą „ls“, kad patikrintumėte, ar šaltinio failas pašalintas iš šaltinio vietos, ar ne.

ls
ls temp
rsync  darbuotojai.csv temp/ --remove-source-files
ls

Ši išvestis rodo, kad dabartinės vietos failas „employees.csv“ perkeliamas į laikinąjį aplanką, o failas „employees.csv“ pašalinamas iš šaltinio po perdavimo:

Išvada

„rsync“ yra labai naudingas „Linux“ įrankis, palengvinantis failų ir aplankų perdavimą iš vienos vietos į kitą naudojant skirtingas parinktis. Komandos „rsync“ naudojimo būdai failams ir aplankams perkelti iš vienos vietos į kitą suglaudinant, nustatant failų ir aplankų dydį, failo tipą, pralaidumo ribą ir tt parodyta 15 paprastų pavyzdžių. ši pamoka. Ši pamoka padeda „Linux“ vartotojams tinkamai žinoti pagrindinius „rsync“ komandos naudojimo būdus sistemoje „Linux“.