シングルラインでsshでログインしてログイン先でコマンドを実行する
知らなかった。
確認した環境
- OSX ( Lion 10.7)
- Ubuntu (10.04)
リモートサーバー( 192.168.100.100 )にログイン後、リモートサーバーでコマンド( cmd )を実行するには次のようにします。
$ ssh 192.168.100.100 "cmd"
リモートサーバーのスペックを確認する
ためしに、リモートログインしてメモリー、ディスク容量、CPUコア数を確認してみます。
$ ssh 192.168.100.100 "free -m ; df -h ; cat /proc/cpuinfo | grep pr | wc -l "
total used free shared buffers cached
Mem: 999 574 424 0 154 332
-/+ buffers/cache: 88 911
Swap: 2924 0 2924
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 96G 1.7G 90G 2% /
none 496M 176K 496M 1% /dev
none 500M 0 500M 0% /dev/shm
none 500M 36K 500M 1% /var/run
none 500M 0 500M 0% /var/lock
none 500M 0 500M 0% /lib/init/rw
none 96G 1.7G 90G 2% /var/lib/ureadahead/debugfs
2ちゃんとできていますね。
forで回したりすると複数台のサーバーにログインしてそれぞれのメモリー、ディスク容量、CPUコア数を確認することもできますね。
一行で!
$ ssh for ((i=100;i<131;i++));do ssh 192.168.100.${i} "free -m ; df -h ; cat /proc/cpuinfo | grep pr | wc -l " ;doneおべんり!