scp和rsync兩個命令的使用和區別

在linux下,我們經常需要兩臺機器之間拷貝文件,或者由於業務需要備份文件,那就不得不用到scp和rsync兩個命令。

1.scp

cp 在本機複製文件,這個命令我們經常使用,但是跨機器複製cp就不行了,scp可以跨機器複製文件,示例:

scp -Crvp  -l 1 test/ [email protected]:/usr/local
## test/ 源文件   [email protected]:/usr/local 目標地址

參數解釋:
-C(大寫): 允許傳輸過程中壓縮,可提高效率
-r: 遞歸傳輸整個目錄 (如果傳輸的是文件則不需要整個參數)
-p: 保留源文件的修改時間和訪問權限等
-l: limit限制傳輸帶寬 kb/s,(-l 1)表示限制每秒1kb的傳輸效率
-v: 傳輸詳情 (調試可以使用)

2.rsync

rsync命令也可以實現跨機器複製,既然都有了scp,我們還需要用到rsync嗎?當然有應用場景:
1.增量備份
2.在拷貝目錄時,排除掉目錄中的某些文件
這兩個場景scp滿足不了
示例:

rsync -arz --exclude=1.txt --bwlimit=1 test/ [email protected]:/usr/local/test

參數解釋:
-r : 遞歸傳輸目錄下所有文件
-a : 歸檔模式,保持所有文件屬性
-z : 傳輸進行壓縮處理
–exclude=PATTERN 指定排除不需要傳輸的文件模式
–exclude-from=FILE 排除FILE中指定模式的文件
–bwlimit :限制I/O帶寬 KB/s

區別

rsync默認是隻拷貝有變動的文件,scp是全量拷貝,所有rsync很適合做增量備份。
scp是加密傳輸,rsync不是。

注意我們在做備份的時候,最好限制一下I/O帶寬,不然很容易因爲備份佔用了太多的I/0,影響機器其它的應用程序

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章