Linux命令學習(2): scp和rsync基本用法與斷點續傳


版權聲明:本文為博主原創文章,未經允許不得轉載。

引子

在平常的工作中,我經常需要在遠程服務器和本地之間傳輸文件。

以前我都使用scp命令,直到今天因為網絡中斷,scp出現了stalled。

因為上傳的是一個100G的文件,所以如果需要重新傳非常消耗時間。

好在過了一會兒scp自動斷點續傳了,但還是很后怕,因為我不確定scp是否能每次都成功斷點續傳。

所以這時候rsync就非常必要了。

 

scp和rsync對比:scp節約資源,系統負荷小,但斷點續傳是個問題;rsync速度更快,斷點續傳方便,但系統負荷大,尤其是傳輸很多文件的時候,硬盤I/O非常高。

 

scp

scp [OPTION] SRC DEST

常用參數:

-r:遞歸拷貝目錄

-q:不顯示進度

-l:限制傳輸帶寬,單位是kbits/s

例如:

scp -r -l 200 /home/user/exampledir user@192.168.XXX.XXX:/home/user/

在輸入命令后,系統會要求輸入user在192.168.XXX.XXX的登錄密碼,密碼正確后就開始復制,scp默認顯示復制進度。

如果我們經常在兩個服務器之間拷貝文件,這時候就需要一個非常有用的技術:scp免密碼拷貝文件。(見另一篇隨筆)

 scp免密碼拷貝和ssh免密碼登錄: https://www.cnblogs.com/liuyihua1992/p/9602324.html

 

rsync

rsync [OPTION] SRC DEST

常用參數:

--progress: 顯示拷貝進度

--partial:保留不完整文件,實現斷點續傳

--partial-dir=DIR:指定不完整文件的存儲目錄,而不是默認存儲到目的地目錄。

-P:包含--progress和--partial

--rsh=ssh:使用ssh方式傳輸文件,注意:如果之前設置過ssh免密碼登錄,那么此時也就不需要密碼了,非常方便

-v:顯示詳細信息

-a:歸檔模式。也就是以遞歸方式傳輸文件,並保持所有文件屬性。

-r:遞歸方式傳輸文件

 

斷點續傳:

所以,只要我們使用下面的命令傳輸數據,在斷開重連后,再輸入同樣的命令就可以實現斷點續傳了:

rsync -P --rsh=ssh yliu@192.168.200.2:/home/yliu/test.mp4 /root

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM