2012-02-25 53 views
1

我运行一个脚本,该脚本包含一个主机并运行一个java程序。我使用nohup并希望输出和错误日志文件名称为hostnameoutput.log和hostnameerror.log。我无法运行该程序。我尝试将该值保存在一个变量中,并将其附加到日志文件名中,并尝试使用直接方法。SSH并创建一个名为机器名称的日志文件

下一个是直接的办法来创造出附加的机器名的日志文件。这里有什么错误?

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

总会出现在这里的一些语法问题,比如一套引号的不平衡,这将防止从执行的。不知道您输入的实际行,很难进行调试。你能用你正在使用的实际行代替文本吗? – Perry 2012-02-25 03:53:48

+0

遗憾的混乱。这是我执行的路线。它做了ssh并给我看了主机名。但是晚些时候使用类似的命令,我尝试使用output.log和error.log追加机器名称。这是行不通的。 SSH $主机 “'hostname'; nohup的java命令program.jar>'hostname'output.log 2>'hostname'error.log&” – shujaat 2012-02-25 04:19:53

+0

请编辑您原来的问题,以反映你实际键入包括位置第二组引号等,你可能也想回答下面提出的问题。 – Perry 2012-02-25 04:27:56

回答

2

你想去哪里日志文件 - 假设/斌/庆典

创建了远程主机名远程日志文件:

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 2012-02-25 04:38:41

+0

其实我创建的文件不是在搞糊涂了当前的工作目录。他们默认进入主目录。问题中的语法是正确的。谢谢 – shujaat 2012-02-25 05:16:08

相关问题