Linux中國

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

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

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

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

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

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

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

$ 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 結束它。

示例輸出:

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

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

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

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

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

示例輸出:

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

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

$ 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 恢復部分傳輸的文件。

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

或者,

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

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

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

乾杯!

via: https://www.ostechnix.com/how-to-resume-partially-downloaded-or-transferred-files-using-rsync/

作者:SK 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國