15 Mga Halimbawa ng Rsync

15 Mga Halimbawa Ng Rsync



Ang paglilipat ng mga file mula sa isang lokasyon patungo sa isa pang lokasyon ay isang pangkaraniwang gawain para sa gumagamit ng Linux. Maraming mga pagpipilian ang magagamit sa Linux upang gawin ang gawaing ito; Ang 'rsync' ay isa sa kanila. Ang buong anyo ng 'rsync' ay 'Remote Sync'. Ito ay isang napaka-kapaki-pakinabang na tool sa pag-synchronize upang kopyahin ang mga file at folder mula sa isang system patungo sa isa pang system nang lokal o malayuan. Mayroon itong mas maraming benepisyo kaysa sa iba pang mga tool sa pag-synchronize. Ang tool na ito ay naka-install sa Linux bilang default. Kaya, hindi kailangan ng user na i-install ito. Ang mga pakinabang at paggamit ng command na 'rsync' ay ipinapakita sa tutorial na ito gamit ang 15 simpleng halimbawa.

Mga kalamangan ng 'Rsync' Command

  1. Ito ay mas mabilis kaysa sa iba pang mga tool dahil kinokopya lamang nito ang mga file mula sa pinagmulang lokasyon patungo sa patutunguhang lokasyon na binago o hindi umiiral sa patutunguhan na lokasyon.
  2. Sinusuportahan nito ang hindi kumpletong paglipat.
  3. Nangangailangan ito ng mas kaunting bandwidth dahil pinipiga nito ang data sa panahon ng paghahatid.
  4. Binabawasan nito ang overhead ng transmission dahil ang hindi gaanong mahalagang data ay maaaring maipadala nang walang encryption.

Syntax

Ang syntax ng 'rsync' na utos ay ibinibigay sa sumusunod:

rsync [Pagpipilian] Pinagmulan na Destinasyon

Dito, ang pinagmulan at patutunguhan na mga landas ay maaaring lokal o malayo. Maaaring gamitin ang iba't ibang uri ng mga opsyon sa command na ito para sa iba't ibang layunin.







Mga Kapaki-pakinabang na Opsyon ng 'Rsync' Command

Ang ilang karaniwang ginagamit na opsyon ng command na 'rsync' ay ipinaliwanag sa sumusunod:



Pagpipilian Layunin
-Kasama Ito ay ginagamit upang i-compress ang data sa panahon ng paghahatid.
-r Ito ay ginagamit upang i-synchronize ang data nang recursively nang hindi pinapanatili ang anumang pahintulot ng file.
-a Ito ay ginagamit upang i-synchronize ang data nang recursively sa pamamagitan ng pagpapanatili ng lahat ng mga pahintulot ng file.
-b Ito ay ginagamit upang panatilihin ang isang backup ng data sa panahon ng paghahatid.
-sa Ito ay ginagamit upang ipakita ang output sa verbose format.
-p Ito ay ginagamit upang ipakita ang progreso ng paglilipat.
-n Ito ay ginagamit upang suriin kung ang pag-synchronize ay gumagana o hindi bago ilipat ang mga file o folder.

Listahan ng 15 Mga Halimbawa ng 'Rsync'.

  1. Maglipat ng Isang File at Folder Lokal
  2. Maglipat ng Maramihang Mga File at Folder sa Lokal
  3. Maglipat ng Isang File at Folder nang Malayo
  4. Maglipat ng Maramihang File at Folder nang Malayo
  5. Ipakita ang Progreso ng Paglipat
  6. I-compress ang Data Habang Naglilipat
  7. Ilipat gamit ang Bandwidth Limit
  8. Ilipat ang mga File at Folder nang Paulit-ulit
  9. Ilipat gamit ang Minimum Size Limit
  10. Ilipat na may Maximum Size Limit
  11. Ilipat ang mga File ng Partikular na Uri
  12. Ipakita ang Mga Pagkakaiba sa pagitan ng Source at Destination Files
  13. Isama o Ibukod ang mga File Habang Naglilipat
  14. I-synchronize ang Data sa Dry Mode
  15. Tanggalin ang Mga Source File at Folder Pagkatapos ng Paglipat

Maglipat ng Isang File at Folder Lokal

Patakbuhin ang command na 'ls' upang ipakita ang listahan ng mga file at folder ng kasalukuyang lokasyon. Susunod, patakbuhin ang command na 'rsync' upang ilipat ang 'employees.txt' file sa 'employees_copy.txt' file nang lokal. Patakbuhin muli ang command na 'ls' upang suriin kung ang file ay nailipat nang maayos o hindi.



$ ls
$ rsync employees.txt employees_copy.txt
$ ls

Ang sumusunod na output ay nagpapakita na ang 'employee.txt' na file ay matagumpay na nailipat:





Ipagpalagay na ang nilalaman ng temp folder ay kailangang ilipat sa tempdir folder kung saan ang 'courses.txt' na file ay umiiral sa parehong mga folder. Patakbuhin ang command na 'ls temp' upang suriin ang nilalaman ng temp folder. Susunod, patakbuhin ang command na 'cat temp/courses.txt' upang suriin ang nilalaman ng file na ito. Susunod, patakbuhin ang command na 'ls tempdir' upang suriin ang nilalaman ng folder ng tempdir. Susunod, patakbuhin ang command na 'cat tempdir/courses.txt' upang suriin ang nilalaman ng file na ito.



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

Ipinapakita ng output na ang nilalaman ng 'courses.txt' file ng temp at tempdir folder ay bahagyang naiiba at ang 'courses.txt' na file ng temp folder ay naglalaman ng mas maraming data kaysa sa 'courses.txt' na file ng tempdir folder .

Patakbuhin ang sumusunod na command upang ilipat ang nilalaman ng temp folder sa tempdir folder at suriin ang nilalaman ng 'courses.txt' na file ng tempdir folder upang kumpirmahin na ang file ay na-update nang maayos o hindi:

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

Ang sumusunod na output ay nagpapakita na ang nilalaman ng temp folder ay nailipat nang maayos sa tempdir folder at ang nilalaman ng 'courses.txt' na file ng tempdir na folder ay maayos na na-update:

Maglipat ng Maramihang Mga File at Folder sa Lokal

Maaaring gamitin ang command na 'rsync' upang maglipat ng maraming file at folder nang lokal. Patakbuhin ang sumusunod na command upang ilipat ang 'ping1.bash' at 'ping2.bash' na mga file sa tempdir folder at suriin ang nilalaman ng tempdir folder pagkatapos ng paglipat. Ang -v na opsyon ay ginagamit sa 'rsync' na utos upang ipakita ang output sa verbose format:

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

Ipinapakita ng sumusunod na output na maraming mga file ang nailipat nang maayos sa folder ng tempdir:

Patakbuhin ang sumusunod na mga utos upang suriin ang nilalaman ng mga folder ng temp, tempdir, at pagsubok at ilipat ang nilalaman ng folder ng pagsubok at tempdir sa folder ng temp:

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

Ang output ay nagpapakita na ang nilalaman ng pagsubok at tempdir na mga folder ay matagumpay na nailipat sa temp folder. Ang 'customers.csv', 'ping1.bash', at 'ping2.bash' na mga file ay idinaragdag bilang mga bagong file sa temp folder:

Maglipat ng Isang File at Folder nang Malayo

Kailangan mong i-install at i-configure ang SSH server sa malayong lokasyon upang mailipat ang mga file at folder nang malayuan. Maaari mong suriin ito pagtuturo upang i-configure ang SSH server.

Patakbuhin ang sumusunod na command upang suriin ang laki ng 'courses.txt' na file ng kasalukuyang lokasyon:

ls -la courses.txt

Ipinapakita ng output na ang laki ng 'courses.txt' na file ay 65 bytes:

Patakbuhin ang sumusunod na command para ilipat ang “courses.txt” sa /home/ubuntu/courses/ folder ng malayong lokasyon, ubuntu@192.168.0.101. Kailangan mong ibigay ang root password ng remote machine bago ilipat ang file:

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

Ang sumusunod na output ay nagpapakita na ang 'courses.txt' na file ay nailipat nang maayos sa remote na makina at ang laki ng file ay 65 bytes:

Patakbuhin ang sumusunod na command upang ilipat ang temp folder sa /home/ubuntu/courses/ folder ng malayong lokasyon, ubuntu@192.168.0.101. Kailangan mong ibigay ang root password ng remote machine bago ilipat ang file tulad ng nakaraang command.

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

Ang sumusunod na output ay nagpapakita na ang nilalaman ng temp folder ay nailipat nang maayos sa remote na makina:

Maglipat ng Maramihang File at Folder nang Malayo

Ang sumusunod na command na 'rsync' ay naglilipat ng 'customers.csv' at 'department.json' na mga file sa /home/Ubuntu/files/ folder ng malayong lokasyon, ubuntu@192.168.0.101.

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

Ang sumusunod na output ay nagpapakita na maraming mga file ang matagumpay na nailipat sa malayong lokasyon:

Ang sumusunod na command na 'rsync' ay naglilipat ng nilalaman ng mga temp at test folder at 'department.json' na file sa /home/Ubuntu/files/ folder ng malayong lokasyon, ubuntu@192.168.0.101.

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

Ang sumusunod na output ay nagpapakita na ang nilalaman ng maramihang mga folder ay matagumpay na nailipat sa malayong lokasyon:

Ipakita ang Progreso ng Paglipat

Patakbuhin ang command na “rsync” gamit ang –progress na opsyon upang ilipat ang nilalaman ng tempdir folder sa temp_copy folder na may impormasyon sa pag-unlad.

rsync -a tempdir/ temp_copy --progress

Ang sumusunod na output ay nagpapakita na ang temp_copy directory ay lokal na nilikha at ang nilalaman ng tempdir folder ay matagumpay na nailipat sa temp_copy folder:

I-compress ang Data Habang Naglilipat

Patakbuhin ang sumusunod na command na 'rsync' na may opsyong –z upang i-compress at ilipat ang direktoryo ng tempdir sa direktoryo ng pagsubok nang lokal:

rsync -za tempdir/test/

Ang sumusunod na output ay nagpapakita na ang naka-compress na direktoryo ay matagumpay na nailipat nang lokal:

Ilipat gamit ang Bandwidth Limit

Patakbuhin ang sumusunod na command na 'rsync' gamit ang –bwlimit na opsyon na may 100 value para ilipat ang /etc/passwd file sa temp folder nang lokal:

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

Ang sumusunod na output ay nagpapakita na ang passwd file ay matagumpay na nailipat:

Ilipat ang File at Folder nang Recursively

Patakbuhin ang sumusunod na command na 'rsync' gamit ang –rv na opsyon upang ilipat ang test folder sa test_bak folder nang lokal:

rsync -rv test/ test_bak/

Ang sumusunod na output ay nagpapakita na ang test folder ay matagumpay na nailipat sa test_bak folder:

Ilipat gamit ang Minimum Size Limit

Ang paglilipat ng mga file at folder gamit ang command na 'rsync' ay maaaring limitado gamit ang -min-size na opsyon upang itakda ang minimum na limitasyon sa laki ng paglilipat ng mga file at folder. Patakbuhin ang sumusunod na command na 'ls -la tempdir' upang suriin ang laki ng bawat file at folder ng folder na ito. Susunod, patakbuhin ang command na 'rsync' upang ilipat ang nilalaman ng tempdir folder sa tempdir_bak folder na may pinakamababang limitasyon sa laki.

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

Ipinapakita ng sumusunod na output na mayroong dalawang file sa tempdir folder na tumutugma sa minimum na laki. Ito ay 'ping1.bash' (248 bytes) at 'test.txt' (34504 bytes). Ang mga file na ito ay inilipat sa tempdir_bak folder at ang iba pang mga file ng tempdir folder ay tinanggal:

Ilipat na may Maximum Size Limit

Ang paglilipat ng mga file at folder gamit ang command na 'rsync' ay maaaring limitado gamit ang –max-size na opsyon upang itakda ang maximum na limitasyon sa laki ng paglilipat ng mga file at folder. Patakbuhin ang sumusunod na command na 'ls -la temp' upang suriin ang laki ng bawat file at folder ng folder na ito. Susunod, patakbuhin ang command na 'rsync' upang ilipat ang nilalaman ng temp folder sa temp_bak folder na may maximum na limitasyon sa laki.

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

Ipinapakita ng sumusunod na output na mayroong apat na file sa temp folder na tumutugma sa maximum na limitasyon sa laki. Ito ay ang 'courses.txt' (65 bytes), 'employees.csv' (361 bytes), 'ping1.bash' (248 bytes) at 'ping2.bash' (244 bytes). Ang mga file na ito ay inilipat sa temp_bak folder at ang iba pang mga file sa temp folder ay tinanggal:

Ilipat ang mga File ng Partikular na Uri

Ang uri ng file na ililipat ay maaaring itakda sa pamamagitan ng pagbanggit sa extension ng file sa command na 'rsync'. Patakbuhin ang sumusunod na command na 'rsync' upang ilipat ang lahat ng mga text file ng temp folder sa mydir folder. Dito, ang extension ng text file ay tinutukoy gamit ang '*.txt':

rsync -v temp/*.txt mydir/

Ang sumusunod na output ay nagpapakita na ang dalawang text file, 'courses.txt' at 'test.txt', ay inilipat sa mydir folder, at ang iba pang mga file ng temp folder ay tinanggal:

Ipakita ang Mga Pagkakaiba sa pagitan ng Source at Destination Files

Kapag ang mga file o mga folder ay inilipat mula sa isang lokasyon patungo sa isa pang lokasyon nang lokal o malayuan, ang parehong lokasyon ay maaaring maglaman ng parehong mga file o folder. Ang mga pagkakaiba sa pagitan ng pinagmulan at patutunguhan sa panahon ng paghahatid ay maaaring suriin gamit ang -i na opsyon na may 'rsync' na utos. Patakbuhin ang sumusunod na mga command na 'cat' upang suriin ang nilalaman ng pinagmulan at ang patutunguhang file bago ilipat. Dito, inililipat ang “courses.txt” file sa temp folder.

cat courses.txt
cat temp/courses.txt
rsync -avi courses.txt temp/

Ang sumusunod na output ay nagpapakita na ang 'courses.txt' na file ng pinagmulan at patutunguhan ay bahagyang naiiba. Ang output ng command na 'rsync' ay nagpapakita ng pagkakaiba sa pagitan ng mga file:

I-synchronize ang Data sa Dry Mode

Kung gusto mong malaman kung aling mga file at folder ang inililipat ng 'rsync' na utos bago ang aktwal na paglilipat, mas mahusay na patakbuhin ang 'rsync' na utos gamit ang –dry-run na opsyon o ang –n na opsyon. Kapag ang command na 'rsync' ay naisakatuparan sa opsyong ito, sinusuri nito kung aling mga file o folder ang kinokopya mula sa source folder patungo sa destination folder ngunit pinapanatili ang destination folder na hindi nagbabago. Patakbuhin ang 'ls –la department.json' na file upang suriin ang laki ng file. Susunod, patakbuhin ang command na “rsync” gamit ang –dry-run mode para suriin ang paglipat ng “department.json” sa temp folder.

ls -la department.json
rsync -v --dry-run department.json temp/

Ang sumusunod na output ay nagpapakita na ang laki ng 'department.json' na file ay 1172 bytes. Ang laki ng file ay nagpapakita ng 1172 bytes pagkatapos isagawa ang 'rsync' na utos gamit ang –dry-run na opsyon:

Isama o Ibukod ang mga File Habang Naglilipat

Maaari mong i-filter ang uri ng file sa oras ng paglilipat mula sa pinagmulang lokasyon patungo sa patutunguhang lokasyon gamit ang –include at –exclude na mga opsyon. Ang opsyon na 'optionsinclude' ay ginagamit upang tukuyin ang extension ng mga file na iyon na ililipat mula sa pinagmulan patungo sa destinasyon. Ang –exclude na opsyon ay ginagamit upang tukuyin ang extension ng mga file na iyon na hindi ililipat mula sa pinagmulan patungo sa patutunguhan.

Patakbuhin ang sumusunod na 'ls temp' na folder upang suriin ang nilalaman ng temp folder. Susunod, patakbuhin ang command na 'rsync' gamit ang mga opsyon na –include at –exclude. Ayon sa command, lahat ng CSV file ng temp folder ay inililipat sa files folder at lahat ng text file ng temp folder ay tinanggal sa oras ng paglilipat. Susunod, patakbuhin ang command na 'ls files' upang suriin kung aling mga file ang ililipat mula sa temp folder patungo sa folder ng mga file.

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

Ang sumusunod na output ay nagpapakita na ang temp folder ay naglalaman ng dalawang CSV file, dalawang text file at dalawang BASH file. Walang laman ang folder ng mga file bago ang paglipat at dalawang CSV file at dalawang BASH file ang inilipat:

Tanggalin ang Mga Source File at Folder Pagkatapos ng Paglipat

Sa nakaraang lahat ng 'rsync' na utos, ang mga source file at folder ay mananatili sa pinagmulang lokasyon pagkatapos ilipat sa destinasyong lokasyon. Ngunit kung minsan, nangangailangan ito ng permanenteng paglilipat ng mga file at folder sa patutunguhang lokasyon. Maaaring gawin ang gawaing ito gamit ang –remove-source-files na opsyon gamit ang command na “rsync”. Patakbuhin ang command na 'ls' upang suriin ang lahat ng mga file at folder ng kasalukuyang lokasyon. Patakbuhin ang command na 'ls temp' upang suriin ang mga file at folder ng temp folder. Susunod, patakbuhin ang command na “rsync” gamit ang –remove-source-files na opsyon para tanggalin ang mga file at folder ng pinagmulang lokasyon pagkatapos makumpleto ang paglilipat. Patakbuhin muli ang command na 'ls' upang suriin kung ang source file ay tinanggal mula sa pinagmulang lokasyon o hindi.

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

Ang sumusunod na output ay nagpapakita na ang 'employees.csv' na file ng kasalukuyang lokasyon ay inilipat sa temp folder at ang 'employees.csv' na file ay tinanggal mula sa pinagmulang lokasyon pagkatapos ng paglipat:

Konklusyon

Ang 'rsync' ay isang napaka-kapaki-pakinabang na tool ng Linux na ginagawang mas madali ang paghahatid ng mga file at folder mula sa isang lokasyon patungo sa ibang lokasyon gamit ang iba't ibang mga opsyon. Ang mga paraan ng paggamit ng command na 'rsync' upang ilipat ang mga file at folder mula sa isang lokasyon patungo sa ibang lokasyon sa pamamagitan ng pag-compress, pagtatakda ng laki ng mga file at folder, pagtatakda ng uri ng file, pagtatakda ng limitasyon ng bandwidth, atbp. ay ipinapakita sa 15 simpleng halimbawa ng ang tutorial na ito. Tinutulungan ng tutorial na ito ang mga gumagamit ng Linux na malaman ang mga pangunahing gamit ng command na 'rsync' sa Linux nang maayos.