我有一个专门用作Jenkins从站的Ubuntu VM。我编写了一个单行脚本来运行从属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是我启动该过程的时间。
该2>&1 > file语法将不起作用。您应该:
2>&1 > file
&>
(java -jar /home/=user=/opnfv_slave_root/slave.jar ... 2>&1) > /home/=user=/jc.log