2012-02-25 14 views
1

私はホストをsshしてJavaプログラムを実行するスクリプトを実行します。私はnohupを使用し、出力とエラーログのファイル名をhostnameoutput.logとhostnameerror.logにします。私はプログラムを実行することができません。変数に値を保存してログファイル名に追加しようとしましたが、直接アプローチも試みました。SSHを実行し、マシン名としてログファイルを作成します

以下は、マシン名を追加するログファイルを作成する直接的な方法です。ここのエラーは何ですか? - あなたは、ログファイルたいです

ssh $host "hostname; nohup java -cp program.jar >hostnameoutput.log 2>hostnameerror.log & " 
+0

ここでは、不均衡な引用符のような文法上の問題があるようで、それがまったく実行されないようになります。入力した実際の行を知らなくてもデバッグは難しいです。テキストを使用していた実際の行に置き換えることができますか? – Perry

+0

混乱して申し訳ありません。これは私が実行した行です。それはsshをして、私にホスト名を示した。しかし、後で同様のコマンドを使用して、私はoutput.logとerror.logでマシン名を追加しようとします。それは動作しません。 ssh $ host "hostname"; nohup java -cp program.jar> 'hostname'output.log 2>' hostname'error.log& " – shujaat

+0

元の質問を編集して、実際に入力した内容を反映させてください。 2番目の引用符のセットなどは、誰かが下に提出した質問に答えることもできます。 – Perry

答えて

2

仮定/ binに/ bashの

は、リモートホスト名を持つリモートログファイルを作成します。

ssh $host 'nohup java -cp program.jar >`hostname`output.log 2>`hostname`error.log &' 

は、リモートホスト名を持つローカルログファイルを作成します

nohup (ssh $host 'java -cp program.jar ' > ${host}.output.log 2> ${host}error.log) & 

私はあなたが欲しいものを正直に言うことができません、これを出発点にしてください。

+0

混乱して申し訳ありません。ありがとうございました。 – shujaat

+0

実際に私が作成したファイルは、私を混乱させる現在の作業ディレクトリにありませんでした。デフォルトではホームディレクトリに移動します。問題の構文は正しいです。ありがとう – shujaat

関連する問題