linux下的文件同步主流的應該有兩種方式,一種是scp(基於local、ssh),另一種是rsync(多種方式local、ssh、rsyncd)linux
scp執行命令格式算法
scp [OPTIONS] source destination服務器
舉例(本地到遠程,反之遠程到本地)ssh
scp /home/daisy/full.tar.gz root@xxx.xxx.xxx.xxx:/home/root加密
複製目錄加參數 -r 遞歸
-v參數來提供SCP進程的詳細信息進程
-p參數會幫到把預計的時間和鏈接速度會顯示在屏幕上。ip
-C參數來讓文件傳輸更快同步
-l限制帶寬使用io
-c選擇其它加密算法來加密文件
-P選定端口
-q參數來靜默它們
-i指定傳輸的驗證密鑰,省掉密碼
rsync執行命令格式
rsync [OPTIONS] source destination
使用ssh模式
-e ssh user@ip:/dir 格式
rsync -vzrtopg --delete --progress --password-file=/etc/rsyncd.secrets rsync@xxx.xxx.xxx.xxx::backup /home/receive
v:傳輸時的進度等信息
z:表示壓縮
r:是遞歸
t:保持文件原有時間
o:保持文件原有屬主
P:傳輸進度
g:保持文件原有用戶組
--progress 指顯示
--delete 指若是服務器端刪除了這一文件,那麼客戶端也相應把文件刪除,保持真正的一致
--password-file=/etc/rsyncd.secrets 認證密碼,可實現靜默同步