2010-12-09 10 views
0

リモートサーバー(Solaris)からローカルシステム(Windows)にログを収集するツールを開発しています。 TelnetToClient.javaを使用してサーバーとの接続を確立しました。 Runtime.getRuntime.Exec()でコマンドを発行しようとしましたが、動作しませんでした。次に、次のコードを使用してサーバーにコマンドを送信してファイルを削除しようとしました(コマンドを発行するこの方法が機能していることを確認するだけです)。GUIからリモートサーバーにtailコマンドを発行する際に助けが必要

パブリックvoid exeComm(String comm){ try { _executor.sendCommand(comm); }キャッチ(IOExceptionを電子){ e.printStackTrace(); COMMが正常ルートディレクトリにあるファイルのテストを、削除「RM /テスト」であるコマンドが発行される}}

。私は同じ方法でログの末尾にコマンドを発行しました。コマンドは "tail -f /usr/log/tracelog.log >> tailedtracelog"でしたが、これはサーバーにコマンドを発行していないため、私の主要な要件であるログをテールすることができません。 Runtime.getRuntime.Exec()を使って同じdeleteコマンドを試してみましたが、これも動作しません。誰かが私にこれを助けてくれますか?前もって感謝します。

+0

ハングアップします。 SolarisボックスからWindowsボックスにログをコピーする必要がありますか?それとも、リモートログの末尾に何らかのコンソールを作成していますか? –

+0

こんにちはMartijn、私はSolarisのボックスからログを収集する必要があるウィンドウでツール(GUI)を開発しています。 – passionatebalu

+0

これらのログはlog4jまたはその他の一般的なログシステムによって生成されますか? –

答えて

1

ああ、この古い古典。お読みくださいWhy Runtime exec() won't

+0

私はその記事を読んでいます。これに代わる方法は何ですか? – passionatebalu

+0

記事には、出力をパイプするリモートファイルシステムコマンドを扱うときに入力ストリームと出力ストリームを分割する必要があるというセクションがあります。 –

関連する問題