Paano gamitin ang rsync upang makopya ang mga file

How Use Rsync Copy Files



Ang Rsync ay isang tool na linya ng utos sa Linux na ginagamit upang makopya ang mga file mula sa isang mapagkukunan na lokasyon patungo sa isang patutunguhan. Maaari mong kopyahin ang mga file, direktoryo, at buong file system at panatilihing naka-sync ang mga file sa pagitan ng iba't ibang mga direktoryo. Gumagawa ito ng higit pa sa pagkopya ng mga file. Binabawasan nito ang dami ng data na ipinadala sa network sa pamamagitan lamang ng pagpapadala ng mga file na bago o na-update. Iyon ang dahilan kung bakit ito ay itinuturing na isang mahusay na utility para sa pagkopya at pag-back up ng file. Sinusuportahan din ng Rsync ang pagkopya ng mga file sa isang remote system sa SSH.

Sa artikulong ito, ipaliwanag namin kung paano gamitin ang rsync upang makopya ang mga file na may ilang mga praktikal na halimbawa. Ipapaliwanag din namin ang paggamit ng rsync sa pagkopya ng isang solong file, maraming mga file, at direktoryo sa parehong mga lokal at remote na system. Saklaw namin kung paano gamitin ang Rsync sa:







  • Kopyahin ang file / direktoryo sa loob ng lokal na system
  • Kopyahin ang file / direktoryo mula sa lokal patungo sa remote system
  • Kopyahin ang file / direktoryo mula sa remote system patungo sa lokal

Ipinaliwanag namin ang mga utos at pamamaraan na nabanggit sa artikulong ito sa isang Ubuntu 20.04 LTS. Kakailanganin mo ang command-line Terminal para sa pagkopya ng mga file gamit ang rsync. Upang buksan ang application ng linya ng utos na Terminal, gamitin ang Ctrl + Alt + T keyboard shortcut.



Pag-install ng Rsync

Ang Rsync ay paunang naka-install sa Ubuntu 20.04 LTS. Gayunpaman, kung aksidenteng naalis ito mula sa system, maaari mo itong mai-install tulad ng sumusunod:



$sudoapti-installrsync

Narito ang ilan sa mga karaniwang ginagamit na pagpipilian na maaaring magamit sa rsync:





–A: mode ng archive
–V: nagpapakita ng mga detalye ng proseso ng pagkopya
–P: ipinapakita ang progress bar
–R: kumokopya ng data nang paulit-ulit
–Z: pinipiga ang data
–Q: pigilan ang output

Kopyahin ang mga file at direktoryo nang lokal

Ang pangkalahatang syntax ng rsync ay:



$rsync[pagpipilian] [pinagmulan] [patutunguhan]

Kopyahin ang isang solong file nang lokal

Kung nais mong kopyahin ang isang file mula sa isang lokasyon patungo sa isa pa sa loob ng iyong system, magagawa mo ito sa pamamagitan ng pagta-type rsync sinundan ng pinagmulan ng pangalan ng file at ang direktoryo ng patutunguhan.

Halimbawa, upang makopya ang isang solong file file1.txt mula sa kasalukuyang lokasyon na direktoryo ng Home sa ~ / Direktoryo ng mga dokumento, ang utos ay:

$rsync/bahay/maniwala/file1.txt/bahay/maniwala/Mga Dokumento

Tandaan: Sa halip na /home/tin/file1.txt, maaari din kaming mag-type ng file1 dahil kasalukuyang nagtatrabaho kami sa direktoryo ng bahay. Gayundin, maaari naming gamitin ang ~ / Mga Dokumento sa halip na banggitin ang buong landas bilang / bahay / lata / Mga Dokumento.

Kopyahin ang maraming mga file nang lokal

Kung nais mong kopyahin ang maraming mga file nang sabay-sabay mula sa isang lokasyon patungo sa isa pa sa loob ng iyong system, magagawa mo ito sa pamamagitan ng pagta-type rsync sinusundan ng pangalan ng mga file ng mapagkukunan at ang direktoryo ng patutunguhan.

Halimbawa, upang makopya ang mga file file2.txt at file3.txt mula sa direktoryo ng Home sa ~ / Direktoryo ng mga dokumento, ang utos ay:

$rsync/bahay/maniwala/file2.txt/bahay/maniwala/file3.txt/bahay/maniwala/Mga Dokumento

Upang makopya ang lahat ng mga file na may parehong extension, maaari mong gamitin ang simbolo ng asterisk (*) sa halip na isa-isahin ang mga pangalan ng file. Halimbawa, upang makopya ang lahat ng mga file mula sa direktoryo ng Home na nagtatapos sa extension na .zip sa direktoryo ng ~ / Mga Dokumento, gagamitin namin ang:

$rsync/bahay/maniwala/ *.zip ~/Mga Dokumento

Kopyahin ang mga direktoryo nang lokal

Kung nais mong kopyahin ang isang direktoryo kasama ang sub-direktoryo nito at lahat ng mga nilalaman mula sa isang lokasyon patungo sa isa pa sa loob ng iyong system, magagawa mo ito sa pamamagitan ng pagta-type rsync sinundan ng direktoryo ng mapagkukunan at patutunguhan.

Halimbawa, upang makopya ang sample na direktoryo upang subukan / direktoryo sa loob ng direktoryo ng Home, ang utos ay:

$rsync-ng /bahay/maniwala/sample/bahay/maniwala/pagsusulit

Tandaan: Ang pagtukoy / pagkatapos ng direktoryo ng pinagmulan kopyahin lamang ang mga nilalaman ng direktoryo. Kung hindi namin tinukoy ang / pagkatapos ng direktoryo ng mapagkukunan, makikopya rin ang direktoryo ng pinagmulan sa direktoryo ng patutunguhan.

Tulad ng sumusunod na output, maaari mong makita na ang aming sample ng direktoryo ng pinagmulan ay kinopya din sa direktoryo ng patutunguhan (tulad ng ginamit namin na sample sa halip na sample / bilang isang direktoryo ng pinagmulan).

Sinusuportahan ng Rsync ang incremental transfer tulad ng nakikita mo sa output sa itaas na inililipat lamang nito ang mga file na bago o na-update.

Kopyahin ang mga file batay sa maximum na laki

Habang kumokopya, maaari din naming tukuyin ang maximum na laki ng mga file na maaaring makopya sa pagpipiliang laki na -max. Halimbawa, upang makopya ang mga file na hindi hihigit sa 2000k mula sa ~ / Mga Pag-download sa ~ / Direktoryo ng mga dokumento, ang utos ay:

$rsync-sa -max laki= 2000k/bahay/maniwala/Mga Pag-download/ * /bahay/maniwala/Mga Dokumento

Kopyahin ng utos na ito ang lahat ng mga file mula sa ~ / Mga Pag-download sa ~ / Direktoryo ng mga dokumento maliban sa mga mas malaki sa 2000k.

Kopyahin ang mga file batay sa minimum na laki

Katulad nito, maaari din naming tukuyin ang minimum na laki ng mga file na maaaring makopya sa pagpipiliang –min-size. Halimbawa, upang makopya ang mga file na hindi mas mababa sa 5M mula sa ~ / Mga Pag-download sa ~ / Direktoryo ng mga dokumento, ang utos ay:

$rsync-sa --minim na laki= 5M/bahay/maniwala/Mga Pag-download/ /bahay/maniwala/Mga Dokumento

Kopyahin ng utos na ito ang lahat ng mga file mula sa ~ / Mga Pag-download sa direktoryo ng ~ / Mga Dokumento maliban sa mga mas mababa sa 5M.

Ibukod ang mga file

Habang kinokopya ang mga file mula sa isang direktoryo patungo sa isa pa, maaari mong ibukod ang ilang mga file gamit ang — ibukod ang pagpipilian na sinusundan ng pangalan ng file o ang extension ng uri ng file.

Halimbawa, upang ibukod ang lahat ng mga .zip file habang kumopya ng mga file mula sa ~ / Mga Pag-download sa ~ / Direktoryo ng mga dokumento, ang utos ay:

$rsync-sa - isama='* .zip' /bahay/maniwala/Mga Pag-download/ /bahay/maniwala/Mga Dokumento

Kopyahin ang mga file at direktoryo mula sa malayo

Sa Rsync, maaari mong kopyahin ang isang solong file, maraming mga file, at mga direktoryo sa isang remote system. Para sa pagkopya ng mga file at direktoryo nang malayuan, kakailanganin mo ang:

  • Naka-install ang Rsync sa parehong lokal at remote na system
  • Pag-access ng SSH sa remote system
  • Remote password ng gumagamit

Bago makopya ang mga file gamit ang rsync, tiyaking maaari mong ma-access ang remote system sa pamamagitan ng SSH:

$sshremote_user@remote_ip


Ang pangkalahatang syntax para sa pagkopya ng mga file at direktoryo sa isang remote system gamit ang rsync:

$rsync[pagpipilian] [pinagmulan] [remoteuser@remoteip: patutunguhan]

Halimbawa, upang makopya ang isang solong file file.txt mula sa ~ / Mga Pag-download sa remote system ~ / Direktoryo ng mga dokumento, ang utos ay:

$rsync-v~/Mga Pag-download/file1.txt umara@192.168.72.164:~/Mga Dokumento

Katulad nito, upang makopya ang direktoryo ng ~ / Mga Pag-download / file sa isang lokal na system na may sub-direktoryo at lahat ng mga nilalaman sa direktoryo ng ~ / Mga Pag-download / sample sa remote system:

$rsync-vv~/Mga Pag-download/file umra@192.168.72.164:~/Mga Pag-download/mga sample

Maaari mo ring kopyahin ang mga file at direktoryo mula sa remote machine patungo sa iyong lokal na makina. Halimbawa, upang makopya ang isang file2.txt mula sa remote system patungo sa lokal na desktop ng system:

$rsync-vumara@192.168.72.164:~/Mga Pag-download/file2.txt ~/Desktop/

Katulad nito, upang makopya ang isang direktoryo mula sa remote system patungo sa lokal na system

$rsync-vvumara@192.168.72.164:~/Mga Pag-download/sample ~/Desktop/pagsusulit

Maaari mo ring gamitin ang lahat ng mga pagpipilian tulad ng –max-size, –min-size, –exclude at iba pa habang kumokopya ng mga file sa / mula sa remote system.

Ang Rsync ay isang mahusay na tool para sa pagkopya ng mga file mula sa mapagkukunan patungo sa patutunguhan alinman sa lokal o sa malayuan. Nagsasama ito ng isang malaking hanay ng mga pagpipilian na nagbibigay sa iyo ng kakayahang umangkop at kontrol habang naglilipat ng mga file sa / mula sa remote system.