測試環境:
操作系統:
本地服務器:CentOS release 6.8 (Final)
遠程服務器:CentOS release 6.10 (Final)
實戰任務:分別使用rsync命令和scp命令實現文件同步
一、rsync命令操作步驟如下:
1.從本地同步到遠程:
$rsync -avzp -e ssh /var/www/html/ 用戶名@遠程服務器ip:/data #默認端口22
$rsync -avzp -e 'ssh -p 端口號' --progress /var/www/html/ 用戶名@遠程服務器ip:/data #指定端口
2.從遠程同步到本地:
$rsync -avzp -e ssh sky9890@遠程服務器ip:/var/www/html/ /data/ #默認端口22
$rsync -avzp -e ‘ssh -p 9899’--progress sky9890@遠程服務器ip:/var/www/html/ /data/ #指定端口
3.參數說明:
-a, --archive 歸檔模式,表示以遞歸方式傳輸文件,並保持所有文件屬性,等於-rlptgoD。
-v, --verbose 詳細模式輸出。
-z, --compress 對備份的文件在傳輸時進行壓縮處理。
--progress 顯示備份過程
二、scp命令操作步驟如下:
1.從本地同步到遠程
$scp -P 9899 -r /var/www/html/ 用戶名@113.195.*.*:/data/
2.從遠程同步到本地
$scp -P 9899 -r sky9890@遠程服務器ip:/var/www/html /data/
3.參數說明
-r:歸複製整個目錄
-P:注意是大寫的P, port是指定數據傳輸用到的端口號
三、兩者比較
1.rsync只對差異文件做更新,可以做增量或全量備份;而scp只能做全量備份。簡單說就是rsync只傳修改了的部分,如果改動較小就不需要全部重傳,所以rsync備份速度較快;默認情況下,rsync 通過比較文件的最後修改時間(mtime)和文件的大小(size)來確認哪些文件需要被同步過去。
2.rsync是分塊校驗+傳輸,scp是整個文件傳輸。rsync比scp有優勢的地方在於單個大文件的一小部分存在改動時,只需傳輸改動部分,無需重新傳輸整個文件。如果傳輸一個新的文件,理論上rsync沒有優勢;
3.rsync不是加密傳輸,而scp是加密傳輸,使用時可以按需選擇。