我有一个添加到shell脚本中的命令mpstat 1 10 | awk '/^Average/ {print 100-$NF,"%"}' >test.txt &
。脚本如下:
#!/usr/bin/ksh
HOST=`hostname`
if [ "$HOST" = "host1" ] || [ "$HOST" = "host2" ] || [ "$HOST" = "host3" ]
then
start="yes"
else
start="no"
fi
if test $start = "yes"
then
P="/home/bin/user/"
F=$(hostname)_$(date +"%Y%m%d_%H%M")
mpstat 1 3600 | awk '/^Average/ {print 100-$NF,"%"}' >$P$F.txt &
fi
当我用腻子(从我的电脑)运行此脚本时-一切正常,我得到的文件具有正确的名称和内容(平均cpu,7,04%
)。
但是我的主要目标是在jenkins中自动运行此scrpt,所以我在jenkins工作中的第一步是:
cd C:\PuTTY
plink -ssh -T -i "path_to_ssh_private_key.ppk" -m file.txt -load sessionname 00.00.000.00
在我的file.txt
中,我有两个命令:
cd /home/bin/user/
sh mpstat_collect.sh
此plink命令正确启动,没有错误,shell脚本也正在运行,没有任何错误。问题是我的输出文件为空。远程启动会在正确的文件夹中创建具有正确名称的输出文件,但是此文件中没有任何内容。没有使用cpu的行,根本没有平均值。
我的mpstat和awk命令是从命令行运行的,但不能远程运行。怎么了