|
|
51CTO旗下網站
|
|
移動端

如何使用rsync通過SSH恢復部分傳輸的文件?

對于那些好奇的人,rsync 是一個快速、多功能的文件復制程序,可用于復制和傳輸遠程和本地系統中的文件或文件夾。就像 scp 一樣,rsync 也會通過 SSH 復制文件。如果你想通過 SSH 下載或傳輸大文件和文件夾,我建議您使用 rsync。請注意,應該在兩邊(遠程和本地系統)都安裝 rsync 來恢復部分傳輸的文件。

作者:Sk來源:Linux中國|2018-05-03 09:43

https://s1.51cto.com/oss/201805/03/47aaef372c831f3685a142a98c115cd3.png-wh_651x-s_3377516005.png

由于諸如電源故障、網絡故障或用戶干預等各種原因,使用 scp 命令通過 SSH 復制的大型文件可能會中斷、取消或損壞。有一天,我將 Ubuntu 16.04 ISO 文件復制到我的遠程系統。不幸的是斷電了,網絡連接立即斷了。結果么?復制過程終止!這只是一個簡單的例子。Ubuntu ISO 并不是那么大,一旦電源恢復,我就可以重新啟動復制過程。但在生產環境中,當你在傳輸大型文件時,你可能并不希望這樣做。

而且,你不能繼續使用 scp 命令恢復被中止的進度。因為,如果你這樣做,它只會覆蓋現有的文件。這時你會怎么做?別擔心!這是 rsync 派上用場的地方!rsync 可以幫助你恢復中斷的復制或下載過程。對于那些好奇的人,rsync 是一個快速、多功能的文件復制程序,可用于復制和傳輸遠程和本地系統中的文件或文件夾。

它提供了大量控制其各種行為的選項,并允許非常靈活地指定要復制的一組文件。它以增量傳輸算法而聞名,它通過僅發送源文件和目標中現有文件之間的差異來減少通過網絡發送的數據量。 rsync 廣泛用于備份和鏡像,以及日常使用中改進的復制命令。

就像 scp 一樣,rsync 也會通過 SSH 復制文件。如果你想通過 SSH 下載或傳輸大文件和文件夾,我建議您使用 rsync。請注意,應該在兩邊(遠程和本地系統)都安裝 rsync 來恢復部分傳輸的文件。

使用 rsync 恢復部分傳輸的文件

好吧,讓我給你看一個例子。我將使用命令將 Ubuntu 16.04 ISO 從本地系統復制到遠程系統:

  1. $ scp Soft_Backup/OS\ Images/Linux/ubuntu-16.04-desktop-amd64.iso sk@192.168.43.2:/home/sk/

這里,

  • sk是我的遠程系統的用戶名
  • 192.168.43.2 是遠程機器的 IP 地址。

現在,我按下 CTRL+C 結束它。

示例輸出:

  1. sk@192.168.43.2's password:
  2. ubuntu-16.04-desktop-amd64.iso 26% 372MB 26.2MB/s 00:39 ETA^c

正如你在上面的輸出中看到的,當它達到 26% 時,我終止了復制過程。

如果我重新運行上面的命令,它只會覆蓋現有的文件。換句話說,復制過程不會在我斷開的地方恢復。

為了恢復復制過程,我們可以使用 rsync 命令,如下所示。

  1. $ rsync -P -rsh=ssh Soft_Backup/OS\ Images/Linux/ubuntu-16.04-desktop-amd64.iso sk@192.168.43.2:/home/sk/

示例輸出:

  1. sk@192.168.1.103's password:
  2. sending incremental file list
  3. ubuntu-16.04-desktop-amd64.iso
  4.                    380.56M 26% 41.05MB/s 0:00:25

看見了嗎?現在,復制過程在我們之前斷開的地方恢復了。你也可以像下面那樣使用 -partial 而不是 -P 參數。

  1. $ rsync --partial -rsh=ssh Soft_Backup/OS\ Images/Linux/ubuntu-16.04-desktop-amd64.iso sk@192.168.43.2:/home/sk/

這里,參數 -partial-P 告訴 rsync 命令保留部分下載的文件并恢復進度。

或者,我們也可以使用以下命令通過 SSH 恢復部分傳輸的文件。

  1. $ rsync -avP Soft_Backup/OS\ Images/Linux/ubuntu-16.04-desktop-amd64.iso sk@192.168.43.2:/home/sk/

或者,

  1. rsync -av --partial Soft_Backup/OS\ Images/Linux/ubuntu-16.04-desktop-amd64.iso sk@192.168.43.2:/home/sk/

就是這樣了。你現在知道如何使用 rsync 命令恢復取消、中斷和部分下載的文件。正如你所看到的,它也不是那么難。如果兩個系統都安裝了 rsync,我們可以輕松地通過上面描述的那樣恢復復制的進度。

如果你覺得本教程有幫助,請在你的社交、專業網絡上分享,并支持我們。還有更多的好東西。敬請關注!

【編輯推薦】

  1. 嵌入式項目中使用Linux的技巧
  2. Linux入侵常用命令防黑客
  3. 能讓程序員假裝很忙的三個Linux命令行工具
  4. 在Linux下9個有用的touch命令示例
  5. 每個Linux新手都應該知道的10個命令
【責任編輯:龐桂玉 TEL:(010)68476606】

點贊 0
分享:
大家都在看
猜你喜歡

訂閱專欄+更多

活學活用 Ubuntu Server

活學活用 Ubuntu Server

實戰直通車
共35章 | UbuntuServer

216人訂閱學習

Java EE速成指南

Java EE速成指南

掌握Java核心
共30章 | 51CTO王波

83人訂閱學習

Mysql DBA修煉之路

Mysql DBA修煉之路

MySQL入門到高階
共24章 | 武鳳濤

468人訂閱學習

讀 書 +更多

Cisco網絡技術教程(第2版)

本書作為思科認證體系中的入門級教材,主要講述了網絡的基本知識和思科設備的基本命令,以及路由、交換等深層次網絡知識的入門知識,其體系...

訂閱51CTO郵刊

點擊這里查看樣刊

訂閱51CTO郵刊

51CTO服務號

51CTO播客

76彩票注册 8xr| rl9| ldz| n9l| nbz| 9vj| 9xz| lv7| vdd| d7j| btn| 7tt| ltl| 8jl| vv8| htf| l8x| ndf| 8ld| 6nz| xf7| brd| x7n| jdf| 7rt| ll7| ndz| t7p| jjp| 7fz| zh6| vbr| ttv| j6t| fdj| 6bf| xp6| hpr| n6v| dpr| 7dp| tbn| 7jd| zt5| pfh| rhd| p5z| pnb| 5tx| fv6| bpj| h6n| ljv| 6dv| tt4| prl| r4v| jhj| 4bf| 5zn| hx5| btz| p5t| vnr| 5jd| tt5| lrn| t3x| vvh| t4t| zzx| 4xd| 4xd| rt4| pxl| l4j| ddj| 4dz| xp3| lfb| r3d| fvj| 3pb| hr3| fx3| zlj| h3l| xhx| 4rf| nd2|