2011年11月2日 星期三

8個很酷的SCP使用方式

使用vim遠端編輯檔案

vim scp://username@host//path/to/somefile

透過vimdiff來比對遠端的兩個檔案

vimdiff scp://root@server-foo.com//etc/snmp/snmpd.conf scp://root@server-bar.com//etc/snmp/snmpd.conf

透過SCP複製檔案並且限制頻寬

scp -l10 user@urfix.com:/home/urfix/* .
"-l"是用來限制頻寬的參數,這個例子就是把頻寬限制在10k上下,如果在COPY大檔案又不想影響頻寬就可以用這個指令

比對本地端與遠端的檔案

vimdiff localfile scp://username@host//path/to/remotefile

輕鬆的把檔案從Server端複製到Client端

mecp () { scp "$@" ${SSH_CLIENT%% *}:Desktop/; }
你可以把上面這個指令複製到.bashrc中,然後以後登入就可以使用mecp這個指令,
像這樣"mecp /path/to/file",這個指令就可以幫你把檔案複製到client端的
home底下的Desktop裏面,你也可以使用下面這個指令,讓你可以輕鬆的把Clinet端的檔案
上傳到Server端。
請注意,Client跟Server端都要能被SSH連入這個方法才有效。
ucp (){ scp ${SSH_CLIENT%% *}:Desktop/upload/* .; }

登入host-A 並將檔案從host-B scp到host-C的方法

scp user@host-B:file user@host-C:
你在host-A下這個指令scp就會把host-B的檔案複製到host-C,
這樣就可以減少還要登入host-B然後再下scp的步驟了。

複製一個檔案到多個SSH hosts

for h in host1 host2 host3 host4 ; { scp file user@$h:/destination_path/ ; }
一個簡單的loop Bash可以讓檔案複製到多個ssh hosts上

壓縮的scp傳檔

scp -C 10.0.0.4:/tmp/backup.sql /path/to/backup.sql
-C是壓縮的參數。

參考來源:8 Cool Ways To Use SCP