Android

Paano gamitin ang rsync para sa lokal at malayong data transfer at pag-synchronize

How to Use rsync to Synchronize Files Between Servers: Linux Server Training 101

How to Use rsync to Synchronize Files Between Servers: Linux Server Training 101

Talaan ng mga Nilalaman:

Anonim

Ang Rsync ay isang mabilis at maraming nalalaman utility line utility na nag-synchronise ng mga file at folder sa pagitan ng dalawang lokasyon sa isang malayuang shell, o mula sa / sa isang liblib na Rsync daemon. Nagbibigay ito ng mabilis na paglilipat ng paglilipat ng file sa pamamagitan ng paglilipat lamang ng mga pagkakaiba sa pagitan ng pinagmulan at patutunguhan.

Ang Rsync ay maaaring magamit para sa salamin ng data, mga pagdagdag ng backup, pagkopya ng mga file sa pagitan ng mga system at bilang isang kapalit para sa scp , sftp , at mga cp utos para sa pang-araw-araw na paggamit.

Sa tutorial na ito, ipapakita namin sa iyo kung paano gamitin ang rsync pamamagitan ng mga praktikal na halimbawa at detalyadong mga paliwanag sa mga pinaka-karaniwang pagpipilian sa rsync .

Pag-install ng Rsync

Ang rsync utility ay paunang naka-install sa karamihan ng mga pamamahagi ng Linux at macOS. Maaari mong suriin kung naka-install ito sa iyong system sa pamamagitan ng pag-type:

rsync --version

rsync version 3.1.2 protocol version 31

I-install ang Rsync sa Ubuntu at Debian

sudo apt install rsync

I-install ang Rsync sa CentOS at Fedora

sudo yum install rsync

Rsync Command Syntax

Bago magpunta sa kung paano gamitin ang utos ng rsync , magsimula tayo sa pamamagitan ng pagsusuri sa pangunahing syntax.

Ang rsync utility expression ay kumuha ng mga sumusunod na form:

Local to Local: rsync…… DEST Local to Remote: rsync…… HOST:DEST Remote to Local: rsync… HOST:SRC…

  • OPTION - Ang pagpipilian ng rsync. SRC - Direktoryo ng pinagmulan. DEST - direktoryo ng patutunguhan. USER - Remote username. HOST - Remote hostname sa IP Address.

Nagbibigay ang rsync isang bilang ng mga pagpipilian na kinokontrol ang bawat aspeto ng pag-uugali nito. Ang pinakapopular na mga pagpipilian ay:

  • -a , --archive , archive mode, katumbas ng -rlptgoD . Ang pagpipiliang ito ay nagsasabi sa rsync i-sync ang mga direktoryo, ilipat ang mga espesyal at bloke na aparato, mapanatili ang simbolikong mga link, mga oras ng pagbabago, pangkat, pagmamay-ari, at mga pahintulot. -z , --compress . Ang pagpipiliang ito ay pipilitin ang rsync i-compress ang data dahil ipinadala ito sa patutunguhang makina. Gamitin lamang ang pagpipiliang ito kung mabagal ang koneksyon sa malayong makina. -P , katumbas ng --partial --progress . Kapag ginamit ang pagpipiliang ito rsync ay magpapakita ng isang progress bar sa panahon ng paglipat at upang mapanatili ang bahagyang inilipat na mga file. Ito ay kapaki-pakinabang kapag naglilipat ng malalaking file sa mabagal o hindi matatag na koneksyon sa network. --delete . Kapag ginagamit ang opsyon na ito ay tatanggalin ang rsync extraneous file mula sa lokasyon ng patutunguhan. Ito ay kapaki-pakinabang para sa salamin. --quiet , --quiet . Gamitin ang pagpipiliang ito kung nais mong sugpuin ang mga mensahe na hindi error. -e . Pinapayagan ka ng pagpipiliang ito na pumili ng ibang remote na shell. Bilang default, ang rsync ay na-configure upang magamit ang ssh.

Pangunahing Paggamit ng Rsync

Upang kopyahin ang isang solong file mula sa isa hanggang sa ibang lokal na lokasyon ay tatakbo mo ang sumusunod na utos:

rsync -a /opt/filename.zip /tmp/

Ang gumagamit na nagpapatakbo ng utos ay dapat na basahin ang mga pahintulot sa lokasyon ng patutunguhan at sumulat ng mga pahintulot sa patutunguhan.

Ang pagtanggal ng filename mula sa lokasyon ng patutunguhan ay kinopya ang file gamit ang kasalukuyang pangalan. Kung nais mong mai-save ang file sa ilalim ng ibang pangalan, tukuyin ang bagong pangalan sa bahagi ng patutunguhan:

rsync -a /opt/filename.zip /tmp/newfilename.zip

Sa halimbawa sa ibaba kami ay lumilikha ng isang lokal na backup ng aming mga file sa website:

rsync -a /var/www/domain.com/public_html/ /var/www/domain.com/public_html_backup/

Kung ang direktoryo ng patutunguhan ay hindi umiiral rsync ay lilikha nito.

Ito ay nagkakahalaga ng pagbanggit na ang rsync nagbibigay ng iba't ibang paggamot sa mga direktoryo ng mapagkukunan na may isang trailing slash / . Kung nagdagdag ka ng isang trailing slash sa pinagmulan ng direktoryo ay makopya lamang ang mga nilalaman ng direktoryo sa direktoryo ng patutunguhan. Kapag ang trailing slash ay tinanggal na rsync ay kopyahin ang direktoryo ng mapagkukunan sa loob ng direktoryo ng patutunguhan.

Paano Gumamit ng Rsync sa Data ng Pag-sync mula sa / sa isang malayong Makina

Kapag gumagamit ng rsync para sa remote transfer, dapat itong mai-install sa parehong mapagkukunan at ang patutunguhang makina. Ang mga bagong bersyon ng rsync ay na-configure upang magamit ang SSH bilang default na remote shell.

Sa sumusunod na halimbawa, naglilipat kami ng isang direktoryo mula sa isang lokal sa isang malayong makina:

rsync -a /opt/media/ remote_user@remote_host_or_ip:/opt/media/ Kung hindi ka nagtakda ng isang password na walang SSH sa malayong makina, hihilingin kang ipasok ang password ng gumagamit.

Kung nais mong ilipat ang data mula sa isang malayong lugar sa isang lokal na makina pagkatapos ay kailangan mong gamitin ang malayong lokasyon bilang isang mapagkukunan:

rsync -a remote_user@remote_host_or_ip:/opt/media/ /opt/media/

Kung ang SSH sa liblib na host ay nakikinig sa isang port maliban sa default 22 pagkatapos ay maaari mong tukuyin ang port gamit ang pagpipilian na:

rsync -a -e "ssh -p 2322" /opt/media/ remote_user@remote_host_or_ip:/opt/media/

Kapag naglilipat ng malaking halaga ng data inirerekumenda na patakbuhin ang utos ng rsync loob ng session ng screen o gamitin ang opsyon na -P :

rsync -a -P remote_user@remote_host_or_ip:/opt/media/ /opt/media/

Ibukod ang mga File at Mga Direktoryo

Kapag hindi kasama ang mga file o direktoryo kailangan mong gamitin ang kanilang mga kamag-anak na landas sa lokasyon ng mapagkukunan.

Mayroong dalawang mga pagpipilian upang ibukod ang mga file at direktoryo. Ang unang pagpipilian ay ang paggamit ng - --exclude argument at tukuyin ang mga file at direktoryo na nais mong ibukod sa command line.

Sa sumusunod na halimbawa, hindi namin kasama ang node_modules at mga direktoryo ng tmp na matatagpuan sa loob ng src_directory :

rsync -a --exclude=node_modules --exclude=tmp /src_directory/ /dst_directory/

Ang pangalawang pagpipilian ay ang paggamit ng --exclude-from argumento at tukuyin ang mga file at direktoryo na nais mong ibukod sa isang file.

rsync -a --exclude-from='/exclude-file.txt' /src_directory/ /dst_directory/ /exclude-file.txt

node_modules tmp

Konklusyon

Sa tutorial na ito, nalaman mo kung paano gamitin ang Rsync upang kopyahin at i-synchronize ang mga file at direktoryo. Marami pa upang malaman ang tungkol sa Rsync sa Manu-manong pahina ng Manwal ng Rsync.

Huwag mag-atubiling mag-iwan ng komento kung mayroon kang mga katanungan.

rsync terminal