Komandas “Rsync” priekšrocības
- Tas ir ātrāks nekā citi rīki, jo kopē tikai tos failus no avota atrašanās vietas uz galamērķa atrašanās vietu, kas ir modificēti vai nepastāv galamērķa vietā.
- Tā atbalsta nepilnīgu pārsūtīšanu.
- Tam nepieciešams mazāks joslas platums, jo pārraides laikā tas saspiež datus.
- Tas samazina pārraides izmaksas, jo mazāk svarīgos datus var pārsūtīt bez šifrēšanas.
Sintakse
Komandas “rsync” sintakse ir norādīta šādi:
rsync [Opcija] Avota galamērķisŠeit avota un galamērķa ceļi var būt lokāli vai attāli. Ar šo komandu dažādiem mērķiem var izmantot dažāda veida opcijas.
Noderīgas komandas “Rsync” opcijas
Dažas bieži izmantotās komandas “rsync” opcijas ir izskaidrotas tālāk:
Opcija | Mērķis |
---|---|
-Ar | To izmanto datu saspiešanai pārraides laikā. |
-r | To izmanto, lai rekursīvi sinhronizētu datus, nesaglabājot faila atļaujas. |
-a | To izmanto, lai rekursīvi sinhronizētu datus, saglabājot visas failu atļaujas. |
-b | To izmanto, lai pārsūtīšanas laikā saglabātu datu dublējumu. |
-in | To izmanto, lai parādītu izvadi detalizētā formātā. |
-lpp | To izmanto, lai parādītu pārsūtīšanas gaitu. |
-n | To izmanto, lai pirms failu vai mapju pārsūtīšanas pārbaudītu, vai sinhronizācija darbojas vai ne. |
15 “Rsync” piemēru saraksts
- Pārsūtiet vienu failu un mapi lokāli
- Pārsūtiet vairākus failus un mapes lokāli
- Pārsūtiet vienu failu un mapi attālināti
- Pārsūtiet vairākus failus un mapes attālināti
- Parādiet pārsūtīšanas gaitu
- Saspiediet datus pārsūtīšanas laikā
- Pārsūtīšana ar joslas platuma ierobežojumu
- Pārsūtiet failus un mapes rekursīvi
- Pārsūtīšana ar minimālā izmēra ierobežojumu
- Pārsūtīšana ar maksimālā izmēra ierobežojumu
- Pārsūtiet noteikta veida failus
- Parādiet atšķirības starp avota un galamērķa failiem
- Iekļaut vai izslēgt failus pārsūtīšanas laikā
- Sinhronizējiet datus sausajā režīmā
- Pēc pārsūtīšanas izdzēsiet avota failus un mapes
Pārsūtiet vienu failu un mapi lokāli
Palaidiet komandu “ls”, lai parādītu pašreizējās atrašanās vietas failu un mapju sarakstu. Pēc tam palaidiet komandu “rsync”, lai lokāli pārsūtītu failu “employees.txt” uz failu “employees_copy.txt”. Vēlreiz palaidiet komandu “ls”, lai pārbaudītu, vai fails ir pārsūtīts pareizi.
$ ls
$ rsync darbinieki.txt darbinieki_kopija.txt
$ ls
Šī izvade parāda, ka fails “employee.txt” ir veiksmīgi pārsūtīts:
Pieņemsim, ka pagaidu mapes saturs ir jāpārsūta uz mapi tempdir, kurā abās mapēs atrodas fails “courses.txt”. Palaidiet komandu “ls temp”, lai pārbaudītu temp mapes saturu. Pēc tam palaidiet komandu “cat temp/courses.txt”, lai pārbaudītu šī faila saturu. Pēc tam palaidiet komandu “ls tempdir”, lai pārbaudītu mapes tempdir saturu. Pēc tam palaidiet komandu “cat tempdir/courses.txt”, lai pārbaudītu šī faila saturu.
$ ls temp
$ cat temp/courses.txt
$ lstempdir
$ cat tempdir/courses.txt
Izvade parāda, ka temp un tempdir mapes faila “courses.txt” saturs nedaudz atšķiras un temp mapes failā “courses.txt” ir vairāk datu nekā mapes tempdir failā “courses.txt”. .
Palaidiet šo komandu, lai pārsūtītu temp mapes saturu uz mapi tempdir, un pārbaudiet mapes tempdir faila “courses.txt” saturu, lai pārliecinātos, vai fails ir pareizi atjaunināts vai nē:
$ rsync -a temp/ tempdir/$ lstempdir
$ cat tempdir/courses.txt
Šī izvade parāda, ka temp mapes saturs ir pareizi pārsūtīts uz mapi tempdir un mapes tempdir faila “courses.txt” saturs ir pareizi atjaunināts:
Pārsūtiet vairākus failus un mapes lokāli
Komandu “rsync” var izmantot, lai lokāli pārsūtītu vairākus failus un mapes. Palaidiet šo komandu, lai pārsūtītu failus “ping1.bash” un “ping2.bash” uz mapi tempdir, un pēc pārsūtīšanas pārbaudiet mapes tempdir saturu. Opcija -v tiek izmantota kopā ar komandu “rsync”, lai parādītu izvadi detalizētā formātā:
$ rsync -v ping1.bash ping2.bash tempdir/$ lstempdir
Šī izvade parāda, ka vairāki faili tiek pareizi pārsūtīti mapē tempdir:
Izpildiet šādas komandas, lai pārbaudītu mapes temp, tempdir un testa saturu un pārsūtītu testa un tempdir mapes saturu uz mapi temp:
$ ls temp$ lstempdir
$ ls tests
$ rsync -av test/ tempdir/ temp/
$ ls temp
Izvade parāda, ka testa un tempdir mapes saturs ir veiksmīgi pārsūtīts uz temp mapi. Faili “customers.csv”, “ping1.bash” un “ping2.bash” tiek pievienoti kā jauni faili pagaidu mapei:
Pārsūtiet vienu failu un mapi attālināti
Lai attālināti pārsūtītu failus un mapes, jums ir jāinstalē un jākonfigurē SSH serveris attālajā vietā. Jūs varat pārbaudīt šo pamācība lai konfigurētu SSH serveri.
Palaidiet šo komandu, lai pārbaudītu pašreizējās atrašanās vietas faila “courses.txt” lielumu:
ls -la kursi.txtIzvade parāda, ka faila “courses.txt” lielums ir 65 baiti:
Palaidiet šo komandu, lai pārsūtītu failu “courses.txt” uz /home/ubuntu/kursi/ attālās atrašanās vietas mape ubuntu@192.168.0.101. Pirms faila pārsūtīšanas jums ir jānorāda attālās mašīnas root parole:
rsync -v courses.txt ubuntu@192.168.0.101:/home/ubuntu/courses/Šī izvade parāda, ka fails “courses.txt” ir pareizi pārsūtīts uz attālo mašīnu un faila lielums ir 65 baiti:
Palaidiet šo komandu, lai pārsūtītu temp mapi uz /home/ubuntu/kursi/ attālās atrašanās vietas mape ubuntu@192.168.0.101. Pirms faila pārsūtīšanas tāpat kā iepriekšējā komandā ir jānorāda attālās mašīnas saknes parole.
rsync -av temp/ ubuntu@192.168.0.101:/home/ubuntu/courses/Šī izvade parāda, ka pagaidu mapes saturs ir pareizi pārsūtīts uz attālo mašīnu:
Pārsūtiet vairākus failus un mapes attālināti
Šī komanda “rsync” pārsūta failus “customers.csv” un “department.json” uz /home/Ubuntu/faili/ attālās atrašanās vietas mape ubuntu@192.168.0.101.
rsync -av customers.csv Department.json ubuntu@192.168.0.101:/home/ubuntu/files/Šī izvade parāda, ka vairāki faili ir veiksmīgi pārsūtīti uz attālo atrašanās vietu:
Šī komanda “rsync” pārsūta temp un testa mapes saturu un failu “department.json” uz /home/Ubuntu/faili/ attālās atrašanās vietas mape ubuntu@192.168.0.101.
rsync -av temp/ test/ Department.json ubuntu@192.168.0.101:/home/ubuntu/files/Šī izvade parāda, ka vairāku mapju saturs ir veiksmīgi pārsūtīts uz attālo atrašanās vietu:
Parādiet pārsūtīšanas gaitu
Palaidiet komandu “rsync” ar opciju –progress, lai pārsūtītu mapes tempdir saturu uz mapi temp_copy ar progresa informāciju.
rsync -a tempdir/ temp_copy --progressŠī izvade parāda, ka temp_copy direktorijs tiek izveidots lokāli un mapes tempdir saturs tiek veiksmīgi pārsūtīts uz mapi temp_copy:
Saspiediet datus pārsūtīšanas laikā
Palaidiet šo komandu “rsync” ar opciju –z, lai lokāli saspiestu un pārsūtītu tempdir direktoriju uz testa direktoriju:
rsync -za tempdir/test/Šī izvade parāda, ka saspiestais direktorijs ir veiksmīgi pārsūtīts lokāli:
Pārsūtīšana ar joslas platuma ierobežojumu
Palaidiet šo komandu “rsync” ar opciju –bwlimit ar vērtību 100, lai lokāli pārsūtītu /etc/passwd failu uz pagaidu mapi:
rsync -v --bwlimit=100 etc/passwd temp/Šī izvade parāda, ka passwd fails ir veiksmīgi pārsūtīts:
Pārsūtiet failu un mapi rekursīvi
Palaidiet šo komandu “rsync” ar opciju –rv, lai pārsūtītu testa mapi uz mapi test_bak lokāli:
rsync -rv test/ test_bak/Šī izvade parāda, ka testa mape ir veiksmīgi pārsūtīta uz mapi test_bak:
Pārsūtīšana ar minimālā izmēra ierobežojumu
Failu un mapju pārsūtīšanu, izmantojot komandu “rsync”, var ierobežot, izmantojot opciju –min-size, lai iestatītu minimālo failu un mapju pārsūtīšanas lieluma ierobežojumu. Palaidiet šo komandu “ls -la tempdir”, lai pārbaudītu katra šīs mapes faila un mapes lielumu. Pēc tam palaidiet komandu “rsync”, lai pārsūtītu mapes tempdir saturu uz mapi tempdir_bak ar minimālā izmēra ierobežojumu.
ls -la tempdirrsync -av --min-size='245B' tempdir/tempdir_bak
Šī izvade parāda, ka mapē tempdir ir divi faili, kas atbilst minimālajam izmēram. Tie ir “ping1.bash” (248 baiti) un “test.txt” (34504 baiti). Šie faili tiek pārsūtīti uz mapi tempdir_bak, un pārējie tempdir mapes faili tiek izlaisti:
Pārsūtīšana ar maksimālā izmēra ierobežojumu
Failu un mapju pārsūtīšanu, izmantojot komandu “rsync”, var ierobežot, izmantojot opciju –max-size, lai iestatītu pārsūtāmo failu un mapju maksimālo lieluma ierobežojumu. Palaidiet šo komandu “ls -la temp”, lai pārbaudītu katra šīs mapes faila un mapes lielumu. Pēc tam palaidiet komandu “rsync”, lai pārsūtītu temp mapes saturu uz mapi temp_bak ar maksimālo lieluma ierobežojumu.
ls -la temprsync --max-size='250B' temp/ temp_bak/
Šī izvade parāda, ka pagaidu mapē ir četri faili, kas atbilst maksimālā izmēra ierobežojumam. Tie ir “courses.txt” (65 baiti), “darbinieki.csv” (361 baiti), “ping1.bash” (248 baiti) un “ping2.bash” (244 baiti). Šie faili tiek pārsūtīti uz mapi temp_bak, un citi faili temp mapē tiek izlaisti:
Pārsūtiet noteikta veida failus
Pārsūtāmā faila veidu var iestatīt, komandā “rsync” minot faila paplašinājumu. Palaidiet šo komandu “rsync”, lai pārsūtītu visus temp mapes teksta failus uz mapi mydir. Šeit teksta faila paplašinājums tiek apzīmēts, izmantojot “*.txt”:
rsync -v temp/*.txt mydir/Šī izvade parāda, ka divi teksta faili “courses.txt” un “test.txt” tiek pārsūtīti uz mapi mydir, bet pārējie pagaidu mapes faili tiek izlaisti:
Parādiet atšķirības starp avota un galamērķa failiem
Kad faili vai mapes tiek pārsūtīti no vienas vietas uz citu lokāli vai attālināti, abās vietās var būt tie paši faili vai mapes. Atšķirības starp avotu un galamērķi pārraides laikā var pārbaudīt, izmantojot opciju -i ar komandu “rsync”. Palaidiet šādas 'cat' komandas, lai pirms pārsūtīšanas pārbaudītu avota un mērķa faila saturu. Šeit fails “courses.txt” tiek pārsūtīts uz pagaidu mapi.
kaķu kursi.txtcat temp/courses.txt
rsync -avi kursi.txt temp/
Tālāk sniegtā izvade parāda, ka avota un galamērķa fails “courses.txt” nedaudz atšķiras. Komandas “rsync” izvade parāda atšķirību starp failiem:
Sinhronizējiet datus sausajā režīmā
Ja vēlaties uzzināt, kuri faili un mapes tiek pārsūtīti ar komandu “rsync” pirms faktiskās pārsūtīšanas, labāk ir palaist komandu “rsync” ar opciju –dry-run vai opciju –n. Kad komanda “rsync” tiek izpildīta ar šo opciju, tā pārbauda, kuri faili vai mapes tiek kopēti no avota mapes uz mērķa mapi, bet saglabā mērķa mapi nemainīgu. Palaidiet failu “ls –la Department.json”, lai pārbaudītu faila lielumu. Pēc tam palaidiet komandu “rsync” ar sausās darbības režīmu, lai pārbaudītu faila “department.json” pārsūtīšanu uz pagaidu mapi.
ls -la departaments.jsonrsync -v --dry-run Department.json temp/
Tālāk sniegtā izvade parāda, ka faila “department.json” lielums ir 1172 baiti. Faila lielums parāda 1172 baitus pēc komandas “rsync” izpildīšanas ar opciju –dry-run:
Iekļaut vai izslēgt failus pārsūtīšanas laikā
Varat filtrēt faila veidu pārsūtīšanas laikā no avota atrašanās vietas uz galamērķa atrašanās vietu, izmantojot opcijas -include un -exclude. Opciju “optionssinclude” izmanto, lai definētu to failu paplašinājumus, kas tiks pārsūtīti no avota uz galamērķi. Opciju -exclude izmanto, lai definētu to failu paplašinājumus, kas netiks pārsūtīti no avota uz galamērķi.
Palaidiet šo mapi “ls temp”, lai pārbaudītu temp mapes saturu. Pēc tam palaidiet komandu “rsync” ar opcijām –include un –exclude. Saskaņā ar komandu visi pagaidu mapes CSV faili tiek pārsūtīti uz mapi faili, un visi pagaidu mapes teksta faili pārsūtīšanas laikā tiek izlaisti. Pēc tam palaidiet komandu “ls files”, lai pārbaudītu, kuri faili tiek pārsūtīti no pagaidu mapes uz failu mapi.
ls temprsync -a temp/ files/ --include=*.csv --exclude=*.txt
ls faili
Šī izvade parāda, ka pagaidu mapē ir divi CSV faili, divi teksta faili un divi BASH faili. Pirms pārsūtīšanas failu mape ir tukša, un tiek pārsūtīti divi CSV faili un divi BASH faili:
Pēc pārsūtīšanas izdzēsiet avota failus un mapes
Iepriekšējās visās “rsync” komandās avota faili un mapes paliek avota atrašanās vietā pēc pārsūtīšanas uz mērķa atrašanās vietu. Bet dažreiz tas prasa neatgriezenisku failu un mapju pārsūtīšanu uz galamērķa atrašanās vietu. Šo uzdevumu var veikt, izmantojot opciju –remove-source-files ar komandu “rsync”. Palaidiet komandu “ls”, lai pārbaudītu visus pašreizējās atrašanās vietas failus un mapes. Palaidiet komandu “ls temp”, lai pārbaudītu temp mapes failus un mapes. Pēc tam palaidiet komandu “rsync” ar opciju –remove-source-files, lai pēc pārsūtīšanas dzēstu avota atrašanās vietas failus un mapes. Vēlreiz palaidiet komandu “ls”, lai pārbaudītu, vai avota fails ir noņemts no avota atrašanās vietas.
lsls temp
rsync darbinieki.csv temp/ --remove-source-files
ls
Šī izvade parāda, ka pašreizējās atrašanās vietas fails “employees.csv” tiek pārsūtīts uz pagaidu mapi un fails “employees.csv” tiek noņemts no avota atrašanās vietas pēc pārsūtīšanas:
Secinājums
“rsync” ir ļoti noderīgs Linux rīks, kas atvieglo failu un mapju pārsūtīšanu no vienas vietas uz citu, izmantojot dažādas opcijas. Komandas “rsync” izmantošanas metodes, lai pārsūtītu failus un mapes no vienas vietas uz citu, saspiežot, iestatot failu un mapju lielumu, iestatot faila veidu, iestatot joslas platuma ierobežojumu utt., ir parādītas 15 vienkāršos piemēros. šī apmācība. Šī apmācība palīdz Linux lietotājiem pareizi uzzināt komandas “rsync” pamata lietojumus operētājsistēmā Linux.