8.2 dcliの構文

この項では、dcliユーティリティの構文について説明します。

構文

dcli [options] [command]

コマンド引数

  • options: コマンド・オプション
  • command: オペレーティング・システムのプロンプトから実行可能なコマンドです。

コマンド・オプション

表8-1 dcliのオプション

オプション 説明

--batchsize=MAXTHDS

パラレル実行スレッドの数を制限します。これにより、操作をパラレルに実行するターゲット・サーバーの数が制限されます。

-c CELLS

コマンドの送信先のターゲット・サーバーのカンマ区切りのリストを指定します。

--ctimeout=CTIMEOUT

ターゲット・サーバーへの初期接続の最大時間(秒)を指定します。

-d DESTFILE

-fオプションを使用してファイルまたはディレクトリをコピーする際に使用される、リモート・サーバー上のターゲットのコピー先ディレクトリまたはファイルを指定します。

-f FILE

サーバーにコピーするファイルまたはファイル・テンプレートを指定します。これらのファイルは実行されません。これらのファイルは、後で実行するスクリプト・ファイルにできます。ファイルはターゲット・サーバー上のユーザーのデフォルト・ホーム・ディレクトリにコピーされます。

-g GROUPFILE

コマンドの送信先のターゲット・サーバーのリストを含むファイルを指定します。サーバーは、ホスト名またはIPアドレスで識別できます。

-h--help

ヘルプ・テキストを表示して終了します。

--hidestderr

SSHを使用してリモートで実行されるコマンドの標準エラー・メッセージ(STDERR)を非表示にします。

-k

公開キー・ファイルをサーバー上のauthorized_keysファイルに追加し、-cオプションまたは-gオプションで指定したサーバーに現在のユーザーのSSHユーザー等価を設定します。

--key-with-one-password

このオプションを使用すると、SSHユーザー等価の設定が容易になります。これは、ユーザー・パスワードを1回入力し、指定されたパスワードをすべての構成済サーバーに使用することによって行われます。指定されない場合、サーバーごとにパスワード入力要求が表示されます。

-l USERID

リモート・サーバーにログインしているユーザーを指定します。デフォルトはcelladminユーザーです。

--root-exadatatmp

このオプションは、-l rootと同様に、rootユーザーを使用します。ただし、/rootをデフォルトの作業ディレクトリとして使用するかわりに、このオプションでは/var/log/exadatatmpが使用されます。これにより、/rootに書き込まれるファイルについてAdvanced Intrusion Detection Environment (AIDE)によって生成されたアラートが回避されます。

--maxlines=MAXLINES

各ターゲット・サーバーの出力を指定された行数に制限します。デフォルトでは、各ターゲット・サーバーの出力制限は100000行です。

-n

エラーなしの出力を簡略化します。通常の出力(0のリターン・コード)を返すサーバーには、サーバー名のみが表示されます。

-nオプションと-rオプションを組み合せて使用することはできません。

-r REGEXP

正規表現に一致する出力行を簡略化します。該当するパターンを含むすべての出力行が出力から削除され、その出力行のサーバー名が1行で表示されます。

-rオプションと-nオプションを組み合せて使用することはできません。

-s SSHOPTIONS

オプションの文字列をSSHに渡します。

--scp=SCPOPTIONS

sshoptionsと異なる場合は、オプションの文字列をscpに渡します。

--serial

Oracle Exadata Storage Server上でプロセスをシリアライズします。

--showbanner--sh

SSHの使用時にリモート・ノードのバナーを表示します。

-t

-cオプションで名前を指定したターゲット・サーバーまたは-gオプションで指定したgroupfile内のターゲット・サーバーを表示します。

--unkey

Oracle Exadata Storage Server上のターゲットauthorized_keysファイルからキーを削除します。

-v

メッセージの冗長バージョンをstdoutに出力します。

--version

プログラムのバージョン番号を表示して終了します。

--vmstat=VMSTATOPS

ターゲット・サーバーで、指定されたコマンド・オプションを使用してvmstatユーティリティを実行します。

-x EXECFILE

コピーしてサーバーで実行するコマンド・ファイルを指定します。指定したファイルには、コマンドのリストが含まれます。.scl拡張子の付いたファイルは、CellCLIユーティリティによって実行されます。別の拡張子の付いたファイルは、オペレーティング・システムのシェルによってサーバーで実行されます。ファイルはターゲット・サーバー上のユーザーのデフォルト・ホーム・ディレクトリにコピーされます。

使用上のノート

ローカルのシェルで解釈される記号が含まれるコマンドの場合は、コマンドを二重引用符で囲みます。コマンドに次の文字が含まれる場合は、外側の引用符とエスケープ文字が必要です。

  • $ (ドル記号)
  • ' (引用符)
  • < (小なり)
  • > (大なり)
  • ( ) (カッコ)

バックスラッシュ(\)は、リモート・シェルによる解釈なしでCellCLIユーティリティに文字を渡すことのできるエスケープ文字です。

エスケープ文字を必要とする記号のためにコマンドが複雑になる場合、状況によってはそのコマンドをスクリプトに配置して、-xオプション付きで実行する必要があります。スクリプト内では、エスケープ文字は必要ありません。

トラブルシューティング

ローカルのdcliプロセスが終了してもリモートのコマンドが続行する場合がありますが、それらの出力とステータスを確認することはできません。

dcliユーティリティからの戻り値は次のとおりです。

  • 0: ファイルまたはコマンドがコピーされ、すべてのサーバーで正常に実行されました。
  • 1: 1つ以上のサーバーにアクセスできず、リモート実行により0以外のステータスが返されました。
  • 2: ローカルのエラーによりコマンドを実行できませんでした。

いずれかのサーバーが停止して応答がない場合は、メッセージがstderrに書き込まれ、応答のないサーバーが表示されます。その他のサーバーは操作が続行され、完了後のリターン・コードは1になります。