1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > jenkins ssh远程执行命令 碰到的2个坑

jenkins ssh远程执行命令 碰到的2个坑

时间:2019-08-09 15:55:34

相关推荐

jenkins ssh远程执行命令 碰到的2个坑

jenkins 通过ssh远程执行 kill命令碰到的问题

问题问题1问题2解决方式如下解决1:解决2修改后的脚本如下参考

问题

问题1

执行命令时,一直报错

kill: failed to parse argument: 'root'

问题2

脚本如下:

ssh root@172.16.0.48 "hostname"ssh root@172.16.0.48 "echo `hostname`"

大家可以试一下,为啥这个结果不一样,我也表示很无奈

通过ssh执行 hostname 命令后,显示的还是 本地机器的名称,而不是登录后显示的机器名称

解决方式如下

解决1:

由于

awk '{print $2}'

$2是个变量,无法读取到远端主机的变量,因此执行杀掉进程命令时,找不到,导致报错?

修改为

awk '{print \$2}'

解决2

这个问题我也没有找到原因,只能曲线救国了。。。

采用方式就是:echo 输出时不换行,然后就能 拼上后面那条命令的输出了。。。

echo -n '进入主机: ';hostname;

修改后的脚本如下

ssh代码如下:

ssh root@xxxxxx "echo -n '进入主机: ';hostname;cd /usr/local/xxxx;echo '杀掉原有进程,备份文件...';ps -ef|grep -E '\s(\./){0,1}asr'|grep -v grep |awk '{print \$2}'| xargs kill -9;sleep 2;if [ -f asr ];then echo 'asr服务包存在,备份';mv asr asr_bak; else echo 'asr服务包不存在'; fi;exit;"

参考

/qq_21383435/article/details/121614413/jinking01/article/details/11003

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。