scp 是通過ssh協議傳輸數據,如果是想傳輸一個很大的數據,這幾天我就遇到過,一個tar包,400G左右,通過scp拷貝時,有可能遇到服務器斷電什么的悲劇問題,那么類似scp拷貝的另一個命令 rsync就可以實現意外中斷后,下次繼續傳,命令如下:
rsync -P --rsh=ssh home.tar 192.168.205.34:/home/home.tar
-P: 是包含了 “–partial –progress”, 部分傳送和顯示進度
-rsh=ssh 表示使用ssh協議傳送數據
如果不想每次都使用 rsync -P rsh=ssh 之類的,可以寫成alias scpr="rsync -P --rsh=ssh"
那么下次就可以直接使用 scpr home.tar 192.168.205.34:/home/home.tar 來拷貝數據了。
在傳輸過程中,目標文件會以.home.tar.xxxx文件也隱藏,可以用la -a來顯示出來。如果scpr中斷了,那么該文件會變成用戶指定的目標文件"home.tar",下次傳的時候又會改成.home.tar.xxxx文件。
執行rsync過程中,我們肯定希望把這個job放入后台執行,而不因為secureCRT類似的窗口中斷受影響,那么在執行了
rsync -P --rsh=ssh home.tar 192.168.205.34:/home/home.tar, 再輸出密碼后,可以用ctrl+z 來中斷,再使用bg命令讓它在后台執行。如下圖: