„Rsync“ komandos pranašumai
- 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.
- Tai palaiko nepilną perdavimą.
- Tam reikia mažesnio pralaidumo, nes perduodant duomenis suspaudžiami.
- 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
- Perkelkite vieną failą ir aplanką vietoje
- Perkelkite kelis failus ir aplankus vietoje
- Perkelkite vieną failą ir aplanką nuotoliniu būdu
- Perkelkite kelis failus ir aplankus nuotoliniu būdu
- Rodyti perkėlimo eigą
- Suspauskite duomenis perdavimo metu
- Perdavimas su pralaidumo riba
- Perkelkite failus ir aplankus rekursyviai
- Perkėlimas su minimalaus dydžio riba
- Perkėlimas naudojant maksimalaus dydžio ribą
- Perkelkite konkretaus tipo failus
- Rodyti skirtumus tarp šaltinio ir paskirties failų
- Įtraukti arba neįtraukti failus perkėlimo metu
- Sinchronizuokite duomenis sausuoju režimu
- 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.txtIš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 tempdirrsync -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 temprsync --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.txtcat 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.jsonrsync -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 temprsync -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.
lsls 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“.