在ubuntu上的Jenkins slave进程没有显示任何日志记录

时间:2015-04-15 15:45:24

标签: java bash jenkins ubuntu-14.04

我有一个专门用作Jenkins奴隶的Ubuntu VM。我写了一个单线程脚本来运行slave jar,我从/etc/rc.local运行该脚本。当我手动运行脚本时,我得到几行输出显示它正在工作。我试图定义rc.local行和脚本,以便它将stdout / stderr存储在一个文件中,但是文件总是为零长度,并且在我开始进程的时候是modtime。

在下文中,某些字段被省略为“= stuff =”。

我的“/etc/rc.local”的结尾如下所示:

su -c "/home/=user=/bin/jenkinsconnect" =user=
exit 0

“jenkinsconnect”脚本如下所示:

#! /bin/bash
java -jar /home/=user=/opnfv_slave_root/slave.jar -jnlpUrl https://=host=/ci/computer/att-build/slave-agent.jnlp -secret =secret= 2>&1 > /home/=user=/jc.log

正如我所说,“/ home / = user = / jc.log”总是零长度,modtime是我开始这个过程的时候。

1 个答案:

答案 0 :(得分:0)

2>&1 > file语法不起作用。你应该:

  1. 使用&>将stderr和stdout指向文件,或
  2. 用括号括起整个命令以捕获输出:

    (java -jar /home/=user=/opnfv_slave_root/slave.jar ... 2>&1) > /home/=user=/jc.log