複数のサーバーに ssh ログインして一括操作できる csshx を使ってみた感想とメモです。
csshx とは
Mac から複数のサーバーに ssh ログインして、一括操作できるツール。
csshx – Cluster SSH tool for Mac OS X Terminal.app – Google Project Hosting
https://code.google.com/p/csshx/
csshx を実行中のスクリーンショット画像
csshx のインストール
$ brew install csshx
マニュアル
https://code.google.com/p/csshx/wiki/Manual
ログイン
$ csshx --login username server01.example.com server02.example.com
csshx の実行をシェルスクリプトにしてもいいかも
$ vi csshx.sh
csshx --login username \
server01.example.com \
server02.example.com
シェルスクリプトを実行
$ sh csshx.sh
ウィンドウ操作コマンド(WINDOW CONTROL)
「Ctrl-a」の後に指定のキーを入力することで、ウィンドウを操作することができる。
詳しくは下記ページを参照。
https://code.google.com/p/csshx/wiki/Manual#WINDOW_CONTROL
いくつか使いそうなコマンドのメモ。
- 「Ctrl-a e」
- ウィンドウ選択モード。
- カーソルキーもしくはh,j,k,lキーでウィンドウを選択できる。
- 「Ctrl-a x」
- ウィンドウ毎に入力の有効/無効を切り替えることができるっぽい。(今は使わないけど、今後使うかもしれないので、できることとしてメモしておく。)
使ってみた感想
- 15台のサーバーに同時にコマンドを実行してみた。
- 全てのウィンドウで同じコマンドが入力されていくのは感動した。
- 15台中、2台が正しくコマンドを実行できていないときがあった。
- 何がどう動いているかは個別に実行結果を目で見て判断する必要がある。
- 個別のターミナルウィンドウをマウスで選択すれば、そのターミナルのみ操作することもできる。
- csshx なのか csshX(Xが大文字) なのか、どっちが正解なのかわからない。
- プロジェクトサイトのタイトルは csshx となっているけど、本文中は csshX になっている。
- コマンドはどっちでも通る。