12.21.2015

color-ssh: Runs Remote Commands, Colorfully!

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 コマンドにターミナル上で色を付けるだけのツール。

x

  • 引数なしで実行すれば、標準入力から読み取った文字列が、ターミナルに赤色で表示される。
  • 「-l」オプションでラベルを指定。各行の左側に反転色で表示される。
    • ラベルを変えれば色も変わる。
      ラベルの文字列によって、色が一意に決まるというのが最大の特徴。
  • 「-c」オプションで色を直接指定することも可能。
  • 「-s」オプションでセパレータ文字列も変えられる。
  • もちろん、通常の cat コマンド同様、引数にファイルパスを指定すれば、その内容を全て表示する。
  • 「color-cat --help」でヘルプを表示。

 

color-ssh

ssh コマンドの出力を色付きで表示するためのツール。
内部では color-cat コマンドが実行されている。

x

  • ssh コマンドを使ってリモートサーバ上でコマンドを実行し、その出力を色付きで表示する。
  • サーバの名前が color-cat のラベルとして利用される。そのため同じサーバは同じ色で出力される。
  • 標準エラー出力はセパレータが「+」に変わる。
  • 複数のサーバ上で、同じコマンドを同時に実行することが可能。(parallel-ssh と同じような機能)
    • ホスト名のリストは、「-h」オプションでファイルから読み込むか、「-H」オプションで文字列として指定する。
  • 「-p」オプションで多重度を制限可能。
  • 「color-ssh --help」でヘルプを表示。

 

コマンドライン引数の「分配」

「--distribute」オプションを指定すれば、引数を各サーバに分割・分配して実行することができる。
(これをやりたかった)

x

上記の例では、「a」「b」「c」「d」「e」という 5個の引数を、各サーバにほぼ均等になるように割り当てて、そのコマンドを並行実行する。

server-1 では「echo xxx a b c」
server-2 では「echo xxx d e」

というコマンドが同時に実行されている。

この機能は、多数の入力ファイルと複数のサーバがある場合、手軽に仕事を分割するのに役立つと思う。

0 件のコメント:

コメントを投稿