15 Rsync piemēri

15 Rsync Piemeri



Failu pārsūtīšana no vienas vietas uz citu ir ļoti izplatīts Linux lietotāja uzdevums. Lai veiktu šo uzdevumu, operētājsistēmā Linux ir pieejamas daudzas iespējas; “rsync” ir viens no tiem. Pilna “rsync” forma ir “Remote Sync”. Tas ir ļoti noderīgs sinhronizācijas rīks, lai kopētu failus un mapes no vienas sistēmas uz citu sistēmu lokāli vai attālināti. Tam ir daudz vairāk priekšrocību nekā citiem sinhronizācijas rīkiem. Šis rīks pēc noklusējuma ir instalēts operētājsistēmā Linux. Tātad lietotājam tas nav jāinstalē. Komandas “rsync” priekšrocības un lietojumi ir parādīti šajā apmācībā, izmantojot 15 vienkāršus piemērus.

Komandas “Rsync” priekšrocības

  1. 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ā.
  2. Tā atbalsta nepilnīgu pārsūtīšanu.
  3. Tam nepieciešams mazāks joslas platums, jo pārraides laikā tas saspiež datus.
  4. 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

  1. Pārsūtiet vienu failu un mapi lokāli
  2. Pārsūtiet vairākus failus un mapes lokāli
  3. Pārsūtiet vienu failu un mapi attālināti
  4. Pārsūtiet vairākus failus un mapes attālināti
  5. Parādiet pārsūtīšanas gaitu
  6. Saspiediet datus pārsūtīšanas laikā
  7. Pārsūtīšana ar joslas platuma ierobežojumu
  8. Pārsūtiet failus un mapes rekursīvi
  9. Pārsūtīšana ar minimālā izmēra ierobežojumu
  10. Pārsūtīšana ar maksimālā izmēra ierobežojumu
  11. Pārsūtiet noteikta veida failus
  12. Parādiet atšķirības starp avota un galamērķa failiem
  13. Iekļaut vai izslēgt failus pārsūtīšanas laikā
  14. Sinhronizējiet datus sausajā režīmā
  15. 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.txt

Izvade 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 tempdir
rsync -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 temp
rsync --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.txt
cat 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.json
rsync -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 temp
rsync -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.

ls
ls 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.