在遠端拷貝目錄(尤其是包含很多小檔案的目錄)的時候,使用 scp 命令顯得十分無力。對於這種情況,通常我們會先用 tar 命令進行打包,然後使用 scp 命令進行拷貝,這樣固然可以大幅度提高速度,不過這將經歷以下步驟(這將帶來很大的額外開銷:紅色標記的步驟):
在源機器上打包
使用 scp 進行遠端拷貝
在目標機器上解包
刪除兩台機器上的包
我們可以使用 ssh 和 tar 命令的組合來完成這一操作,同時最大程度上減小額外開銷,提高拷貝效率。
比如,我們需要從 10.10.0.1 拷貝目錄 /home/anke/test 到當前機器的 /tmp 目錄,可以使用以下命令:
同樣,如果我們想把 /tmp/test 目錄拷貝回去,可以使用以下命令:ssh [email protected] "cd /home/anke; tar zcf - test" | tar zxf - -c /tmp
cd /tmp
我把幾種不同的遠端拷貝策略進行了乙個tar zcf - test | ssh [email protected] tar zxf - -c /home/anke
對比(測試的目錄大小為 607m ,共有 7394 個小檔案組成),測試結果如下:
使用方案耗時直接scp
8m27s
tar打包 + scp拷貝
打包:0m17s 拷貝:0m15s
ssh + tar
0m19s
由上表可見,ssh + tar 拷貝在速度的提公升上效果是很明顯的,「直接 scp」 就不說了,「tar打包 + scp拷貝」方案即使沒有考慮解包和刪包也是要比 」ssh + tar「方案慢的。
另外,對於大檔案來說,尤其是壓縮比較高的大檔案,也可以使用這種方法來實現加速拷貝。
linux 遠端拷貝
scp root 10.5.0.1 root firewall.tar.gz scp home cheney full.tar.gz root 10.5.0.1 home root scp r root 10.5.0.1 mail 拷貝整個目錄下的所有檔案 需要輸入相應的使用者名稱和密碼 scp是有...
遠端拷貝檔案
1 拷貝本機 home administrator test整個目錄至遠端主機192.168.1.100的 root目錄下 複製 如下 scp r home administrator test root 192.168.1.100 root 複製 如下 scp home administrator...
SCP遠端拷貝
linux 的 scp 命令 可以 在 linux 之間複製 檔案 和 目錄 scp 命令 scp 可以在 2個 linux 主機間複製檔案 命令基本格式 scp 可選引數 file source file target 從 本地 複製到 遠端 複製檔案 命令格式 scp local file re...