Provided by: manpages-ja_0.5.0.0.20131015+dfsg-2_all
名称
uux - UUCP を用いて、リモートマシン上でコマンドを実行する
書式
uux [ options ] command
解説
uux コマンドは、リモートマシン上でコマンドを実行する場合や、 リモートシステム上のファイル を用いてローカルシステム上でコマンドを実行する ために用いられます。 コマンドは、即座に実行 されるわけではなく、 uucico (8) デーモンが他のシステムを呼び出してジョブを実行するまで は、キューイング されます。デーモンは、 -r または --nouucico オプションを指定して本コマン ドを実行しない限りは、自動的に走り出します。 実際にコマンドを実行するのは、 uuxqt (8) デーモンです。 引数に指定されたファイルは、リモートシステムから、実際にコマンド実行を行う システムに集め られます。標準入力についても同様です。 標準出力は、リモートシステム上のファイルに出力され ます。 リモートシステム上でコマンド実行をする場合は、 コマンド名の前に、システム名と "!" マークを つけます。 システム名がない場合には、ローカルシステム上でのコマンド実行であると みなされま す。 "!" マークを含む各引数は、ファイル名であるとみなされます。 "!" マークの前はファイルが存在 するシステム名を、後にはファイルへのパス名を 記述します。 システム名がない場合には、ローカ ルシステム上のファイルであるとみなされます。 この場合、コマンドの実行されるリモートシステ ムへファイル転送が発生します。 パスが絶対パスでない場合、現在のローカルシステム上の作業 ディレクトリ名が そのパス名の前に付加されます。 この場合、リモートシステム上で無効なパスと なってしまうかも知れません。 また、パス名として ~/ が先頭に付加されている場合、 これは UUCP パブリックディレクトリ (通常は /usr/spool/uucppublic) からの相対パスであるとみなされ ます。一般的に、~name で始まるディレクトリは、 その名前のユーザのホームディレクトリからの 相対パスであるとみなされます。 標準入出力は、普通にリダイレクトされます。パス名の中に "!" を含む場合は、 そのファイルはリ モートシステム上にあるものとして扱われます。 リダイレクトキャラクタを使う場合には、シェル で解釈されずに uux に渡されるように、クォートしなくてはなりません。また、追加書き込み のリ ダイレクション (>>) は使用できません。 指定された全てのファイルは、コマンド実行前に、1つのディレクトリに 集められます。これは、各 ファイルは異なるベースネームを持つ必要がある ということを意味します。例えば、 uux 'sys1!diff sys2!~user1/foo sys3!~user2/foo >!foo.diff' は、コマンド実行時に失敗します。なぜなら、 両方のファイルが sys1 に同一のファイル名 foo で コピーされるからです。 引数を括弧で括ることで "!" が解釈されるのを防ぐことができます。これは、 uucp コマンドをリ モートシステム上で実行する際に有用です。 コマンド名なしの実行要求 (例えば uux sys! ) は、指定したシステム用の poll ファイルを作成 します。
オプション
以下のオプションが uux で使用可能です。 -,-p, --stdin 標準入力から読み込み、それをコマンド実行時の標準入力として使います。 -c, --nocopy ローカルファイルをスプールディレクトリにコピーしません。デフォルトは この設定です。も し、 uucico (8) デーモンの実行前にファイルが消去されてしまった場合、コピーは失敗しま す。 ファイルは、 uucico (8) デーモンと uux を起動したユーザの両者から読み込み可能で なければなりません。 -C, --copy ローカルファイルをスプールディレクトリにコピーします。 -l, --link ローカルファイルをスプールディレクトリの下にハードリンクします。 ファイルがスプール ディレクトリと異なる物理デバイス上に存在する場合、 リンクは張れません。この場合、 -c または --nocopy オプションが指定されていない限り、スプールディレクトリの下に対象ファ イルを コピーします (言い替えると、 --link を使うとデフォルトが --nocopy から --copy にかわるということです)。 ファイルが uucico (8) デーモンの処理前に変更された場合、転 送されるファイルは変更後のファイル になります。ファイルは、 uucico (8) デーモンと uux を起動したユーザの両者から読み込み可能でなければなりません。 -g grade, --grade grade ファイル転送コマンドの優先度を設定します。高い優先度を持つジョブが 先に実行されま す。優先度は、高い順に 0 ... 9 A ... Z a ... z となっています。 -n, --notification=no ジョブの結果を通知するメールを送りません。たとえジョブが失敗してもです。 -z, --notification=error エラー発生時に、ジョブのステータスに関するメールを送ります。 Taylor UUCP の uuxqt を 含む多くの uuxqt デーモンでは、この動作はデフォルトです。 このような場合、 --notification=error は何の効果もありません。しかし、 --notification=error オプション を設定していないとジョブが成功した場合にメールを送る uuxqt デーモンもあれば、 --notification=error オプションを指定しないとジョブが失敗した時にメールを送ってくれな いという uuxqt デーモンもあります。 -r, --nouucico uucico (8) デーモンを即時には実行しません。後で処理されるように要求をキューに貯める だけです。 -j, --jobid ジョブ id を標準出力に表示します。ジョブ id は、各ファイルコピー操作を 行うよう要求さ れるたびに生成されます。これらのファイルコピー操作は、 uustat (1) の --kill スイッチ で jobid を渡すことでを用いることで取り消し可能ですが、 そうするとそのジョブは終了不 能になります。 -a address, --requestor address 指定した E-mail アドレスに対してジョブのステータスを報告します。 -x type, --debug type 特定のデバッグタイプを有効にします。タイプとしては、abnormal, chat, handshake, uucp- proto, proto, port, config, spooldir, execute, incoming, outgoing があります。 uux で 意味があるのは、abnormal, config, spooldir, execute の 4 つだけです。 本オプションで は、コンマで区切ることで複数のデバッグタイプが指定可能です。 デバッグタイプをカンマで 区切って複数指摘することもできますし、 --debug オプションを複数個指定することも可能 で、 たくさんのデバッグタイプを一度に設定することができます。例えば、 --debug 2 とい う指定は、 --debug abnormal,chat と同じ意味です。 -I file, --config file 使用するコンフィギュレーションファイルを設定します。ただし、 本オプションが使用可能か どうかは、 uux がどのようにコンパイルされたかによります。 -v, --version バージョン情報を表示して終了します。 --help ヘルプメッセージを表示して終了します。
使用例
uux -z - sys1!rmail user1 コマンド``rmail user1'' を、システム sys1 上で実行します。コマンドへの入力 データは、標準 入力が用いられます。ジョブが失敗した場合、 mail (1) コマンドによってメッセージが送られてき ます。 uux 'diff -c sys1!~user1/file1 sys2!~user2/file2 >!file.diff' システム sys1 とシステム sys2 上にあるファイルを取得し、 diff を実行した上で、カレントディ レクトリのファイル file.diff に結果を 格納します。これがきちんと働くためには、カレントディ レクトリが uuxqt (8) デーモンによって書き込める状態でなければなりません。 uux 'sys1!uucp ~user1/file1 (sys2!~user2/file2)' uucp を sys1 上で実行し、sys1 上のファイル file1 を sys2 上にコピーします。 この例で は、クォート用の括弧の使い方を示してあります。
制限
リモートシステムでは、実行が許可されていないコマンドがあるかもしれません。 多くのリモート システムでは、 rmail と rnews しか実行を許可していません。 オプションのうちいくつかは、リモートシステム上の uuxqt (8) デーモンの能力に依存します。
関連ファイル
これらのファイル名は、コンパイル時もしくはコンフィギュレーションファイル で変更されうるた め、一例にすぎません。 /usr/lib/uucp/config - 初期化ファイル /usr/spool/uucp - UUCP スプールディレクトリ /usr/spool/uucp/Log - UUCP ログファイル /usr/spool/uucppublic - デフォルトの UUCP パブリックディレクトリ
関連項目
mail(1), uustat(1), uucp(1), uucico(8), uuxqt(8)
バグ
複数のシステムにまたがって、ファイル参照をすることはできません。 --jobid オプションを使うと、ジョブ id が非常に多く出力されてしまいます。また、 リモート ファイルを必要とするローカル実行要求をキャンセルする良い方法は 存在しません。
作者
Ian Lance Taylor (ian@airs.com) Taylor UUCP 1.06 uux(1)