複数のサーバーに 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 を実行中のスクリーンショット画像

20140609_01

 

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」
    • 全てのウィンドウに対してプロセス終了を実行する。
    • プロセスが終了したら「Cmd + q」でターミナルを終了してもいいし、「cmd + w」で個別にウィンドウを閉じても良い。
    • 設定にもよるのかもしれないけど、下記のようになったりするので注意が必要かも。
      20140609_02
  • ウィンドウ毎に入力の有効/無効を切り替えることができるっぽい。(今は使わないけど、今後使うかもしれないので、できることとしてメモしておく。)

 

使ってみた感想

  • 15台のサーバーに同時にコマンドを実行してみた。
    • 全てのウィンドウで同じコマンドが入力されていくのは感動した。
    • 15台中、2台が正しくコマンドを実行できていないときがあった。
    • 何がどう動いているかは個別に実行結果を目で見て判断する必要がある。
  • 個別のターミナルウィンドウをマウスで選択すれば、そのターミナルのみ操作することもできる。
  • csshx なのか csshX(Xが大文字) なのか、どっちが正解なのかわからない。
    • プロジェクトサイトのタイトルは csshx となっているけど、本文中は csshX になっている。
    • コマンドはどっちでも通る。