15 Rsynci näidet

15 Rsynci Naidet



Failide ülekandmine ühest asukohast teise on Linuxi kasutaja jaoks väga levinud ülesanne. Selle ülesande täitmiseks on Linuxis saadaval palju võimalusi; 'rsync' on üks neist. 'rsynci' täisvorm on 'Remote Sync'. See on väga kasulik sünkroonimistööriist failide ja kaustade kopeerimiseks ühest süsteemist teise süsteemi kohapeal või eemalt. Sellel on palju rohkem eeliseid kui teistel sünkroonimistööriistadel. See tööriist on vaikimisi installitud Linuxi. Seega ei pea kasutaja seda installima. Käsu 'rsync' eelised ja kasutusalad on toodud selles õpetuses, kasutades 15 lihtsat näidet.

Käsu 'Rsync' eelised

  1. See on teistest tööriistadest kiirem, kuna kopeerib lähteasukohast sihtasukohta ainult need failid, mida on muudetud või mida sihtasukohas pole.
  2. See toetab mittetäielikku ülekandmist.
  3. See nõuab vähem ribalaiust, kuna see tihendab edastuse ajal andmeid.
  4. See vähendab edastuse üldkulusid, kuna vähem olulisi andmeid saab edastada ilma krüptimiseta.

Süntaks

Käsu 'rsync' süntaks on esitatud järgmiselt:

rsync [Valik] Allika sihtkoht

Siin võivad lähte- ja sihtkohateed olla kohalikud või kauged. Selle käsuga saab erinevatel eesmärkidel kasutada erinevat tüüpi suvandeid.







Käsu 'Rsync' kasulikud valikud

Järgnevalt selgitatakse mõningaid käsu 'rsync' sagedamini kasutatavaid suvandeid:



Võimalus Eesmärk
- Koos Seda kasutatakse andmete tihendamiseks edastamise ajal.
-r Seda kasutatakse andmete rekursiivseks sünkroonimiseks ilma failiõigusi säilitamata.
-a Seda kasutatakse andmete rekursiivseks sünkroonimiseks, säilitades kõik failiõigused.
-b Seda kasutatakse andmete varundamiseks edastamise ajal.
-sisse Seda kasutatakse väljundi kuvamiseks üksikasjalikus vormingus.
-lk Seda kasutatakse ülekande edenemise kuvamiseks.
-n Seda kasutatakse enne failide või kaustade edastamist kontrollimaks, kas sünkroonimine toimib või mitte.

15 Rsynci näite loend

  1. Edastage üks fail ja kaust kohapeal
  2. Edastage mitu faili ja kausta kohapeal
  3. Edastage üks fail ja kaust eemalt
  4. Edastage mitu faili ja kausta eemalt
  5. Kuvage edastuse edenemine
  6. Tihendage andmed edastuse ajal
  7. Ülekanne ribalaiuse piiranguga
  8. Edastage failid ja kaustad rekursiivselt
  9. Ülekanne minimaalse suuruse piiranguga
  10. Ülekandmine maksimaalse suuruse piiranguga
  11. Edastage konkreetset tüüpi failid
  12. Kuvage erinevused lähte- ja sihtfailide vahel
  13. Kaasa või välista failid edastuse ajal
  14. Sünkroonige andmed kuivatusrežiimis
  15. Pärast edastamist kustutage lähtefailid ja kaustad

Edastage üks fail ja kaust kohapeal

Käivitage käsk 'ls', et kuvada praeguse asukoha failide ja kaustade loend. Järgmisena käivitage käsk 'rsync', et edastada fail 'employees.txt' kohapeal faili 'employees_copy.txt'. Käivitage käsk 'ls' uuesti, et kontrollida, kas fail on õigesti üle kantud või mitte.



$ ls
$ rsync töötajad.txt töötajad_copy.txt
$ ls

Järgmine väljund näitab, et faili „employee.txt” edastamine õnnestus:





Oletame, et ajutise kausta sisu tuleb teisaldada tempdir kausta, kus mõlemas kaustas on fail 'courses.txt'. Käivitage käsk 'ls temp', et kontrollida ajutise kausta sisu. Järgmisena käivitage selle faili sisu kontrollimiseks käsk 'cat temp/courses.txt'. Järgmisena käivitage käsk 'ls tempdir', et kontrollida kausta tempdir sisu. Järgmisena käivitage selle faili sisu kontrollimiseks käsk 'cat tempdir/courses.txt'.



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

Väljund näitab, et temp ja tempdir kausta faili “courses.txt” sisu on veidi erinev ning temp kausta fail “courses.txt” sisaldab rohkem andmeid kui tempdir kausta fail “courses.txt” .

Käivitage järgmine käsk, et teisaldada ajutise kausta sisu tempdir kausta ja kontrollida kausta tempdir faili 'courses.txt' sisu, et veenduda, kas faili värskendatakse õigesti või mitte:

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

Järgmine väljund näitab, et temp kausta sisu kantakse korralikult üle tempdir kausta ja tempdir kausta faili “courses.txt” sisu uuendatakse korralikult:

Edastage mitu faili ja kausta kohapeal

Käsku 'rsync' saab kasutada mitme faili ja kausta kohalikuks edastamiseks. Käivitage järgmine käsk, et teisaldada failid “ping1.bash” ja “ping2.bash” kausta tempdir ja kontrollida tempdir kausta sisu pärast teisaldamist. Suvandit -v kasutatakse koos käsuga 'rsync', et kuvada väljund üksikasjalikus vormingus:

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

Järgmine väljund näitab, et mitu faili edastatakse õigesti kausta tempdir:

Käivitage järgmised käsud, et kontrollida temp-, tempdir- ja testkaustade sisu ning teisaldada test- ja tempdir-kausta sisu temp-kausta:

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

Väljund näitab, et test ja tempdir kaustade sisu kantakse edukalt üle temp kausta. Failid 'customers.csv', 'ping1.bash' ja 'ping2.bash' lisatakse uute failidena ajutisse kausta:

Edastage üks fail ja kaust eemalt

Failide ja kaustade kaugedastamiseks peate installima ja konfigureerima kaugasukohta SSH-serveri. Saate seda kontrollida õpetus SSH-serveri konfigureerimiseks.

Käivitage järgmine käsk, et kontrollida praeguse asukoha faili 'courses.txt' suurust:

ls -la kursused.txt

Väljund näitab, et faili “courses.txt” suurus on 65 baiti:

Käivitage järgmine käsk faili 'courses.txt' teisaldamiseks /home/ubuntu/kursused/ kaugasukoha kaust ubuntu@192.168.0.101. Enne faili edastamist peate sisestama kaugmasina juurparooli:

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

Järgmine väljund näitab, et fail “courses.txt” edastatakse kaugmasinasse korralikult ja faili suurus on 65 baiti:

Käivitage järgmine käsk, et teisaldada ajutine kaust kausta /home/ubuntu/kursused/ kaugasukoha kaust ubuntu@192.168.0.101. Enne faili edastamist nagu eelmine käsk, peate sisestama kaugmasina juurparooli.

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

Järgmine väljund näitab, et ajutise kausta sisu edastatakse kaugmasinasse õigesti:

Edastage mitu faili ja kausta eemalt

Järgmine käsk 'rsync' edastab failid 'customers.csv' ja 'department.json' /home/Ubuntu/failid/ kaugasukoha kaust ubuntu@192.168.0.101.

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

Järgmine väljund näitab, et mitu faili edastatakse edukalt kaugasukohta:

Järgmine käsk 'rsync' kannab temp- ja testkaustade ning faili 'department.json' sisu üle /home/Ubuntu/failid/ kaugasukoha kaust ubuntu@192.168.0.101.

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

Järgmine väljund näitab, et mitme kausta sisu edastati edukalt kaugkohta:

Kuvage edastuse edenemine

Käivitage käsk 'rsync' valikuga –progress, et teisaldada tempdir kausta sisu koos edenemisteabega kausta temp_copy.

rsync -a tempdir/ temp_copy --progress

Järgmine väljund näitab, et temp_copy kataloog luuakse kohapeal ja kausta tempdir sisu edastatakse edukalt kausta temp_copy:

Tihendage andmed edastuse ajal

Käivitage järgmine käsk 'rsync' valikuga –z, et tihendada ja edastada kataloog tempdir kohapeal testkataloogi:

rsync -za tempdir/test/

Järgmine väljund näitab, et tihendatud kataloog edastatakse edukalt kohapeal:

Ülekanne ribalaiuse piiranguga

Käivitage järgmine käsk 'rsync' suvandiga –bwlimit väärtusega 100, et edastada /etc/passwd fail kohapeal ajutisse kausta:

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

Järgmine väljund näitab, et passwd-fail on edukalt edastatud:

Edastage fail ja kaust rekursiivselt

Käivitage järgmine käsk 'rsync' valikuga –rv, et teisaldada testkaust kohapeal kausta test_bak:

rsync -rv test/ test_bak/

Järgmine väljund näitab, et testkaust on edukalt teisaldatud kausta test_bak:

Ülekanne minimaalse suuruse piiranguga

Failide ja kaustade teisaldamist käsuga 'rsync' saab piirata suvandiga –min-size, et määrata failide ja kaustade teisaldamise minimaalne suurus. Selle kausta iga faili ja kausta suuruse kontrollimiseks käivitage järgmine käsk 'ls -la tempdir'. Järgmisena käivitage käsk 'rsync', et teisaldada tempdiri kausta sisu minimaalse suuruse piiranguga kausta tempdir_bak.

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

Järgmine väljund näitab, et kaustas tempdir on kaks faili, mis vastavad minimaalsele suurusele. Need on 'ping1.bash' (248 baiti) ja 'test.txt' (34504 baiti). Need failid kantakse üle kausta tempdir_bak ja teised tempdir kausta failid jäetakse välja:

Ülekandmine maksimaalse suuruse piiranguga

Failide ja kaustade ülekandmist käsuga 'rsync' saab piirata, kasutades suvandit –max-size, et määrata ülekantavate failide ja kaustade maksimaalne suurus. Käivitage järgmine käsk 'ls -la temp', et kontrollida selle kausta iga faili ja kausta suurust. Järgmisena käivitage käsk 'rsync', et teisaldada ajutise kausta sisu maksimaalse suuruse piiranguga kausta temp_bak.

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

Järgmine väljund näitab, et tempkaustas on neli faili, mis vastavad maksimaalsele suurusepiirangule. Need on 'courses.txt' (65 baiti), 'töötajad.csv' (361 baiti), 'ping1.bash' (248 baiti) ja 'ping2.bash' (244 baiti). Need failid kantakse üle kausta temp_bak ja teised failid temp kaustas jäetakse välja:

Edastage konkreetset tüüpi failid

Edastatava faili tüübi saab määrata, mainides käsus “rsync” faili laiendit. Käivitage järgmine käsk 'rsync', et teisaldada kõik ajutise kausta tekstifailid kausta mydir. Siin on tekstifaili laiend tähistatud tähega '*.txt':

rsync -v temp/*.txt mydir/

Järgmine väljund näitab, et kaks tekstifaili “kursused.txt” ja “test.txt” kantakse üle kausta mydir ning teised ajutise kausta failid jäetakse välja:

Kuvage erinevused lähte- ja sihtfailide vahel

Kui failid või kaustad teisaldatakse ühest asukohast teise lokaalselt või eemalt, võivad mõlemad asukohad sisaldada samu faile või kaustu. Allika ja sihtkoha erinevusi edastuse ajal saab uurida suvandi -i abil koos käsuga “rsync”. Käivitage järgmised 'cat' käsud, et kontrollida lähte- ja sihtfaili sisu enne teisaldamist. Siin kantakse fail 'courses.txt' ajutisse kausta.

kassikursused.txt
kassi temp/kursused.txt
rsync -avi kursused.txt temp/

Järgmine väljund näitab, et lähte- ja sihtkoha fail “courses.txt” on veidi erinev. Käsu 'rsync' väljund näitab failide erinevust:

Sünkroonige andmed kuivatusrežiimis

Kui soovite teada, milliseid faile ja kaustu käsk “rsync” edastab enne tegelikku ülekandmist, on parem käivitada käsk “rsync” valikuga –dry-run või –n. Kui selle valikuga käivitatakse käsk “rsync”, kontrollib see, millised failid või kaustad kopeeritakse lähtekaustast sihtkausta, kuid jätab sihtkausta muutmata. Faili suuruse kontrollimiseks käivitage fail „ls –la Department.json”. Järgmisena käivitage käsk „rsync” kuivkäivitusrežiimis, et kontrollida faili „department.json” ülekandmist ajutisse kausta.

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

Järgmine väljund näitab, et faili „department.json” suurus on 1172 baiti. Faili suurus näitab 1172 baiti pärast käsu 'rsync' täitmist suvandiga –dry-run:

Kaasa või välista failid edastuse ajal

Saate filtreerida faili tüüpi lähtekohast sihtasukohta teisaldamise ajal, kasutades valikuid –include ja –exclude. Suvandit Optionssinclude kasutatakse nende failide laienduse määratlemiseks, mis edastatakse allikast sihtkohta. Suvandit –exclude kasutatakse nende failide laienduse määratlemiseks, mida allikast sihtkohta ei edastata.

Temp kausta sisu kontrollimiseks käivitage järgmine kaust 'ls temp'. Järgmisena käivitage käsk 'rsync' suvanditega –include ja –exclude. Käskluse kohaselt kantakse kõik temp-kausta CSV-failid failikausta ja kõik temp-kausta tekstifailid jäetakse teisaldamise ajal välja. Järgmisena käivitage käsk 'ls files', et kontrollida, millised failid ajutist kaustast failikausta teisaldatakse.

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

Järgmine väljund näitab, et ajutine kaust sisaldab kahte CSV-faili, kahte tekstifaili ja kahte BASH-faili. Failide kaust on enne edastamist tühi ning kahe CSV-faili ja kahe BASH-faili edastamine:

Pärast edastamist kustutage lähtefailid ja kaustad

Eelmistes käskudes 'rsync' jäävad lähtefailid ja kaustad pärast sihtasukohta ülekandmist lähtekohta. Kuid mõnikord nõuab see failide ja kaustade püsivat teisaldamist sihtkohta. Seda ülesannet saab teha käsuga –remove-source-files käsuga “rsync”. Käivitage käsk 'ls', et kontrollida kõiki praeguse asukoha faile ja kaustu. Käivitage käsk 'ls temp', et kontrollida tempkausta faile ja kaustu. Järgmisena käivitage käsk 'rsync' valikuga -remove-source-files, et kustutada lähtekoha failid ja kaustad pärast edastuse lõpetamist. Käivitage käsk 'ls' uuesti, et kontrollida, kas lähtefail on lähtekoha asukohast eemaldatud või mitte.

ls
ls temp
rsync töötajad.csv temp/ --remove-source-files
ls

Järgmine väljund näitab, et praeguse asukoha fail 'employees.csv' teisaldatakse ajutisse kausta ja fail 'employees.csv' eemaldatakse pärast teisaldamist lähtekohast:

Järeldus

'rsync' on väga kasulik Linuxi tööriist, mis muudab failide ja kaustade edastamise ühest asukohast teise erinevate valikute abil lihtsamaks. Meetodid, kuidas kasutada käsku “rsync” failide ja kaustade ülekandmiseks ühest asukohast teise tihendamise, failide ja kaustade suuruse, failitüübi, ribalaiuse piirangu jne määramise teel, on näidatud 15 lihtsas näites see õpetus. See õpetus aitab Linuxi kasutajatel õigesti teada käsu 'rsync' põhikasutusi Linuxis.