csshXが素晴らしすぎる件

複数のホストに対して、同時にコマンドを実行するツールはpssh等いくつかあると思うのですが、もっと自由度高く、viで編集したり、さらにはsshでログインしている状態でやれるような作業を全部同時にやりたいと思っていました。

そんな都合の良いツールはなかなかなくて、会社の人がLinuxでCluster SSHを使っていて、Linux限定かぁと諦めていたところ、なんとMacで使えるcluster SSHのcsshXがあるようだと教えてもらいました。これがあまりに素晴らし過ぎるので簡単に紹介します。

インストール

brew環境を入れている人は以下のコマンド一発で使えるようになります。

[program lang=’bash’ escaped=’true’]

brew install csshx

[/program]

使い方

細かい使い方はマニュアルを見るとして、例えば以下のようなコマンドを書いたシェルスクリプトを作ります。

[program lang=’bash’ escaped=’true’]

csshX --login matsumoto_r 192.168.0.1 192.168.0.2 192.168.0.3 192.168.0.4 192.168.0.5 192.168.0.6

[/program]

これをcsshX_cluster.shとかのファイル名にしておいて、実行すると、Macのターミナルがパカパカと動き出してどんどんホストにログインしていき、数に応じて綺麗に整列してくれます。

スクリーンショット 2012-12-21 22.00.25

こんな感じで綺麗に整列してくれて、入力はすべてのターミナルに同時に反映されます。複数ホストから同時にabコマンドかけたい場合や、クラスターの設定をしているApacheのconfを書き換えたりとか、とにかく同じような設定を自由に同時に書き換える事ができて最強すぎます!

Retinaディスプレイの恩恵もかなり受けることができるでしょう。今は20インスタンから負荷検証をしたり、同時に同じようなスクリプトを書いたりしているのですが、これで作業の効率が猛烈にあがりました。

csshX素晴らしすぎます。

スクリーンショット 2012-12-21 22.03.04

こんな感じで20インスタンスに対して欲張りに作業を行なっています。

Ctrl+Aで操作ターミナルに移動し、xを押すと全ログアウトだったり、rを押すと再度windowをパカパカと並べ替えたり、任意のwindowにカーソルをあわせるとそこだけ入力をできたり、と自由度はかなり高いです。

Mac のMountainLionで動作確認しているので、最新のMacの方もすぐに導入できます。複数ホストへの作業が頻繁に発生して、急に思いつくようなちょっとした変更やテストはMacからcsshXでちょちょいと変更してやりましょう。