Polyshコマンドによるマルチログクエリの実装

2961 ワード

一、Polysh概要
Polyshは、1台のサーバ上で一括してサーバを処理し、インタラクティブコマンドを実行するインタラクティブコマンドです.Polyshは、relayを介して1台1台のログインを必要とせずに複数のリモートホストに同時にログインし、同じコマンドを実行することで、問題のトラブルシューティングと位置決めを容易にし、作業量を大幅に削減できます.
注意:Polyshは、多くのサーバ上でインタラクティブなリモートスクリプトを実行するために使用されるいくつかのリモートスクリプトの集合ツールです.Pythonで作成され、最低要件はPython 2.4です.
二、polysh取付
relayでstagingマシンにログインし、次のコマンドを実行してpolyshをインストールします.インストールディレクトリはユーザーディレクトリ:/opt/hl/.
1.pythonのインストールがインストールされています
wget wget http://guichaz.free.fr/polysh/files/polysh-0.4.tar.gz
tar -zxvf polysh-0.4.tar.gz

vim prod-polysh.sh
      :
#10.252.176.33,10.252.176.35        ip
python /opt/hl/polysh-0.4/polysh.py {10.252.176.33,10.252.176.35}

             

chmod 777 prod-polysh.sh

2.pythonがインストールされていないインストール
wget wget http://guichaz.free.fr/polysh/files/polysh-0.4.tar.gz
tar -zxvf polysh-0.4.tar.gz
cd polysh-0.4 
su 
python setup.py install

vim prod-polysh.sh
      :
#10.252.176.33,10.252.176.35        ip
python /opt/hl/polysh-0.4/polysh.py {10.252.176.33,10.252.176.35}

             
chmod 777 prod-polysh.sh

三、Xshell配置Xagent(macはこのステップをスキップできる)
ファイル-プロパティを開き、SSHオプションを選択し、「パスワード処理を使用するXagent(SSHエージェント)」を選択します.Xshellを再起動します.
四、polysh使用
4.1.使用方法1
polysh 10.252.176.33 10.252.176.35

4.2.使用方法2
./prod-polysh.sh

次のプロンプトが表示されます.
[---hl-----]$ ./prod-polysh.sh
ready (8)

ready(8)は8台の機器が接続済みであることを示し,クエリーコマンドを実行できる.exitまたはCrtl+zは終了できます.
4.3.コマンドの実行
ready (8)>cd /opt/hl
ready (8)>pwd

次のように表示されます.
10.252.176.33: /opt/hl
10.252.176.35 : /opt/hl

五、ソース
gitでpolyshのソースコードを取得できます
git clone git://repo.or.cz/polysh.git

六、その他
コロンで始まる命令はリモートホストに送信されません.polyshはコロンで始まる命令を実行します.たとえば、次のようにします.
ready (2)> :help 
:add Add one or many remote shells. 
:chdir Change the current directory of polysh (not the remote shells). 
:disable Disable sending commands to remote shells. 
:enable Enable sending commands to remote shells. 
:export_vars Export some environment variables on enabled remote shells. 
:help List control commands or show their documentations. 
:hide_password Do not echo the next typed line. 
:list List remote shells and their states. 
:purge Delete disabled remote shells. 
:quit Quit polysh. 
:reconnect Try to reconnect to disconnected remote shells. 
:rename Rename all enabled remote shells with the argument. 
:replicate Copy a path from one remote shell to all others 
:reset_prompt Change the prompt to be recognized by polysh. 
:send_ctrl Send a control character to remote shells. 
:set_debug Enable or disable debugging output for remote shells. 
:set_log Duplicate every console I/O into the given local file. 
:show_read_buffer Print the data read by remote shells. 
:upload Upload the specified local path to enabled remote shells.