$HOME/.ScatterCmd /usr/local/share/ScatterCmd
著者:飯坂剛一
Version:3.1
ScatterCmd コマンドは登録しているホストに対して、 ssh あるいは rsh を使ってコマンドを発行するものです。
この資料では、ScatterCmdの設定方法と、使用方法について説明しています。
nodefileに登録したホストへコマンドラインで指示したコマンドを実行します。
必要条件ではありませんが、登録したホストへはssh(もしくはrsh)を使って パスワード無しでログインできる環境にないと非常に操作性が低下します。
ScatterCmd は以下の順序でコマンドを実行するホストを登録している ファイルを検索します。
$HOME/.ScatterCmd /usr/local/share/ScatterCmd
デフォルトの検索ファイルは nodefile になります。
これは次のように —list オプションをつけて実行することで参照できます。
root@IisakaLaptop ~]# ScatterCmd --list /root/.ScatterCmd/: /usr/local/share/ScatterCmd/: sample.nodefile GatherSysInfo.conf
# ScatterCmd -- rm -f /.rocks-release
与えるコマンドライン中にオプションがあるときは、 ScatterCmd にオプションの終端を明示的に教えるために ハイフォン2個を記述したあとにコマンドラインを記述します。
すぐに気づくことですが、使いかたを誤ると絶望的な結果となります。 心配なときは -n オプションを与えると、 実際には実行せずに、これから実行しようとするスクリプトを表示だけして 終わります。
この例ではScatterCmd を実行したノードにある/etc/hostsを 各計算ノードの/etcにコピーしています。
@H@ は登録済みのホスト名に置換されて処理されます。
#ScatterCmd - t eval scp /etc/hosts @H@:/etc
置換文字列には次のものがあります。
@H@ ノード名に置換
@C@ ScatterCmdを実行したディレクトリパスに置換
全ノードの/var/log/messagesをScatterCmdを実行したホストの/tmpの 下にホスト名.messagesという名前でコ ピーする例
#ssh-agent $SHELL #ssh-add #ScatterCmd scp /var/log/messages frontend:/tmp/@H@.messages
-f nodefilepath, —nodefilepath=/path/to/nodefile nodefilepathで示されるノードファイルは、各行にホスト名を記述したファイルでフルパスで指定する。
-F nodefilepath, —nodefile=nodefilename -fオプションがフルパスでの指定であることに対して、このオプションはファイル名のみを指定する。 指定したファイル名は、次のディレクトリ内を順に検索される。
/usr/local/share/ScatterCmd
$HOME/.ScatterCmd?
—ignore=host1[,host2…] 指示したホストに対して処理を実行しない。
—REignode=RE_pattern 正規表現で指示したパターンに該当するホストに対して、処理を実行しない。
-A host1[,host2…], —addhost=host1[,host2…] 処理するホストを追加する。
-H host1[,host2…], —hostlist=host1[,host2…] 処理するホストを指示するデフォルトのnodefileは無視される。
-L Num, —loopmax=Num Numで指定した回数だけ処理をループする。
-I Sec, —interval=Sec 各ループが終わると、Secで与えられた秒数だけ待つ。 -Lオプションと共に使用される。
-T Sec, —timeout=Sec ホストが有効かチェックする時のタイムアウト時間
-t type, —type=type 実行モード。 typeには次のものを指定できます
broad 一斉同報
seq 逐次処理
intract ノードごとにリターンキーの入力を要求する。
eval 置換文字列を評価した後に実行
-e method, —execcmd=method リモートシェルの指定。 Methodにはrsh(HP-UXの場合はremsh)かsshを指定する。
-u user, —user=user リモートホストでの実行ユーザを指定する。 rootユーザだけが使用可能。
-C, —copy カレントディレクトリにo.ホスト名とe.ホスト名のファイルを作成し、処理結果の標準出力と標準エラー出力を格納する。
-c str, —comment str ホスト毎の区切りにプリントするコメント文字列を指定する。 dateコマンドの%文字列で始まる置換文字が使用可能。
-m, —mono ホスト名をモノクロで表示する。 デフォルトはカラー表示
-n, —noexec 実際に処理せずに発行されるコマンドを表示する。
-v, —verbose 発行されるコマンドを表示する。
-s, —silent 処理結果の表示の後にホスト名を表示しない。
-U, —uniq ノードファイル中に重複するホストがあるときは、1つだけ処理を実行する。
-q, —quiet 何も表示しない。
-V, —version バージョン情報を表示
-h, —help ヘルプを表示