color-ssh: カラフルなリモートコマンドの実行ツール
color-ssh というコマンドライン・ツールを作った。
インストール
# pip install color-ssh
- 環境によっては「sudo」コマンドが必要
- バージョンアップする場合は、「pip install --upgrade color-ssh」
「color-cat」と「color-ssh」という 2個のコマンドがインストールされる。
以下に、基本的な使い方を説明する。
$ color-cat --version color-cat 0.1.0 $ color-ssh --version color-ssh 0.1.0
color-cat
UNIX/Linux の cat コマンドにターミナル上で色を付けるだけのツール。
- 引数なしで実行すれば、標準入力から読み取った文字列が、ターミナルに赤色で表示される。
- 「-l」オプションでラベルを指定。各行の左側に反転色で表示される。
- ラベルを変えれば色も変わる。
ラベルの文字列によって、色が一意に決まるというのが最大の特徴。
- ラベルを変えれば色も変わる。
- 「-c」オプションで色を直接指定することも可能。
- 「-s」オプションでセパレータ文字列も変えられる。
- もちろん、通常の cat コマンド同様、引数にファイルパスを指定すれば、その内容を全て表示する。
- 「color-cat --help」でヘルプを表示。
color-ssh
ssh コマンドの出力を色付きで表示するためのツール。
内部では color-cat コマンドが実行されている。
- ssh コマンドを使ってリモートサーバ上でコマンドを実行し、その出力を色付きで表示する。
- サーバの名前が color-cat のラベルとして利用される。そのため同じサーバは同じ色で出力される。
- 標準エラー出力はセパレータが「+」に変わる。
- 複数のサーバ上で、同じコマンドを同時に実行することが可能。(parallel-ssh と同じような機能)
- ホスト名のリストは、「-h」オプションでファイルから読み込むか、「-H」オプションで文字列として指定する。
- 「-p」オプションで多重度を制限可能。
- 「color-ssh --help」でヘルプを表示。
コマンドライン引数の「分配」
「--distribute」オプションを指定すれば、引数を各サーバに分割・分配して実行することができる。
(これをやりたかった)
上記の例では、「a」「b」「c」「d」「e」という 5個の引数を、各サーバにほぼ均等になるように割り当てて、そのコマンドを並行実行する。
server-1 では「echo xxx a b c」
server-2 では「echo xxx d e」
というコマンドが同時に実行されている。
この機能は、多数の入力ファイルと複数のサーバがある場合、手軽に仕事を分割するのに役立つと思う。
0 件のコメント:
コメントを投稿