Android

Paano ilipat ang mga file na may rsync sa ssh

Sicheres Backup mit rsync, SSH und LUKS [Kielux 2017]

Sicheres Backup mit rsync, SSH und LUKS [Kielux 2017]

Talaan ng mga Nilalaman:

Anonim

Pagdating sa paglilipat ng mga file sa pagitan ng mga system sa network, ang mga gumagamit ng Linux at Unix ay may maraming mga tool sa kanilang pagtatapon.

Ang pinakasikat na mga protocol para sa paglipat ng data ay SSH at FTP. Habang ang FTP ay napakapopular, palaging ginustong gamitin ang SSH dahil ito ang pinaka ligtas na paraan upang mailipat ang iyong mga file.

Mayroong mga dalubhasang tool para sa paglilipat ng file sa SSH tulad ng scp at sftp ngunit wala sa kanila ang lahat ng mga tampok na ibinibigay ng rsync . Maaaring magamit ang rsync para sa mga salamin ng data, mga pagdagdag ng backup, pagkopya ng mga file sa pagitan ng mga system at iba pa.

Sa tutorial na ito, ipapaliwanag namin kung paano kopyahin ang mga file na may rsync higit sa SSH.

Mga Kinakailangan

  • Ang rsync dapat na mai-install sa parehong patutunguhan at ang mga mapagkukunan ng system. Kung hindi ito naka-install maaari mong mai-install ito gamit ang tagapamahala ng package ng iyong pamamahagi:

    Ubuntu at Debian:

    sudo apt install rsync

    CentOS at Fedora:

    sudo yum install rsync

    Ang pag-access sa SSH sa malayong computer.

    Ang gumagamit na nagpapatakbo ng utos ng rsync at ang malayong gumagamit ng SSH ay dapat magkaroon ng naaangkop na pahintulot na basahin at isulat ang mga file.

Paggamit ng rsync upang Maglipat ng Mga File sa SSH

Sa rsync , maaari kang maglipat ng mga file at direktoryo sa SSH mula at sa mga malalayong server.

Ang pangkalahatang syntax para sa paglilipat ng mga file na may rsync ay ang mga sumusunod:

Local to Remote: rsync… -e ssh… HOST:DEST Remote to Local: rsync… -e ssh HOST:SRC…

Kung saan ang SRC ay ang direktoryo ng mapagkukunan, ang DEST ay ang direktoryo ng patutunguhan na USER ay ang malayuang SSH username at HOST ang remote SSH host o IP Address.

Ang mga mas bagong bersyon ng rsync ay na-configure upang magamit ang SSH bilang default na remote shell upang maaari mong maiwasang ang pagpipilian na -e ssh .

Halimbawa, upang maglipat ng isang solong file /opt/file.zip mula sa lokal na system patungo sa /var/www/ direktoryo sa liblib na sistema na may IP 12.12.12.12 nais mong patakbuhin:

rsync -a /opt/file.zip [email protected]:/var/www/

Ang pagpipilian ng isang-para sa mode ng archive na i-sync ang mga direktoryo, mailipat ang mga espesyal at bloke na aparato, mapanatili ang mga simbolikong link, mga oras ng pagbabago, grupo, pagmamay-ari, at pahintulot.

Kung ang file ay umiiral sa liblib na server ay mai-overwrite ito. Kung nais mong mai-save ang file sa ilalim ng ibang pangalan, tukuyin ang bagong pangalan:

rsync -a /opt/file.zip [email protected]:/var/www/file2.zip

Upang ilipat ang data mula sa isang malayong lugar sa isang lokal na makina, gamitin ang malayong lokasyon bilang pinagmulan at lokal na lokasyon bilang patutunguhan:

rsync -a [email protected]:/var/www/file.zip /opt/

Ang paglilipat ng mga direktoryo na may rsync SSH ay pareho sa paglilipat ng mga file.

Mahalagang malaman na ang rsync nagbibigay ng iba't ibang paggamot sa mga direktoryo ng mapagkukunan na may isang trailing slash / . Kapag ang direktoryo ng mapagkukunan ay may isang trailing slash, rsync ay kopyahin lamang ang mga nilalaman ng direktoryo ng mapagkukunan sa direktoryo ng patutunguhan. Kapag ang trailing slash ay tinanggal mula sa direktoryo ng mapagkukunan ay makopya sa loob ng direktoryo ng patutunguhan.

Halimbawa, ilipat ang lokal /opt/website/images/ direktoryo sa /var/www/images/ direktoryo sa isang malayong makina na nais mong i-type:

rsync -a /home/linuxize/images/ [email protected]:/var/www/images/

Gamitin ang pagpipilian - hindi na --delete kung nais mong i-synchronize ang lokal at malayong direktoryo. Mag-ingat kapag ginagamit ang pagpipiliang ito dahil tatanggalin nito ang mga file sa direktoryo ng patutunguhan kung wala sila sa pinagmulan ng direktoryo.

rsync -a --delete /home/linuxize/images/ [email protected]:/var/www/images/

Kung ang SSH sa liblib na host ay nakikinig sa isang port maliban sa default 22 , tukuyin ang port gamit ang pagpipilian na -e . Halimbawa, kung ang SSH ay nakikinig sa port 3322 gagamitin mo:

rsync -a -e "ssh -p 3322" /home/linuxize/images/ [email protected]:/var/www/images/

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 na nagsasabi sa rsync na magpakita ng isang progress bar sa panahon ng paglilipat at panatilihin ang mga bahagyang inilipat na mga file:

rsync -a -P /home/linuxize/images/ [email protected]:/var/www/images/

Konklusyon

Ipinakita namin sa iyo kung paano gamitin ang rsync SSH upang kopyahin at i-synchronize ang mga file at direktoryo.

Maaari mo ring basahin kung paano ibukod ang mga file o direktoryo na may rsync .

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

rsync terminal