suse环境[bsh]实现一个小功能问题求助
[code]#author:user#date:2010-3-7 15:30
#!/bin/sh
destdir='/home/gmonitor/'
logfilename1="monitorcpu"`date +"%Y%m%d"`".log"
logfilename2="cpuoverload"`date +"%Y%m%d"`".log"
if [ ! -f ${logfilename1} ];
then
touch $destdir${logfilename1}
fi
if [ ! -f ${logfilename2} ];
then
touch $destdir${logfilename2}
fi
vmstat 1 >> $destdir${logfilename1}
cpu=`tail -f $destdir${logfilename1}|awk '{print $15}`
do
if [$cpu -lt 80]
then echo `date +"%Y%m%d%H%M%S"` $cpu >> $destdir${logfilename2}
else
continue
fi
done[/code]目的:筛选IDLE值小于80的时间和IDLE值写入logfilename2中
结果是logfilename2里为空,请教这是怎么回事?
另外我本来是直接vmstat 1 | awk '{print $15}` >> 1.txt 这样的语法为何写不进去。这个困扰我好久了 不好意思,逻辑有问题,我在修改下 #author:
#date:2010-3-7 15:30
#!/bin/sh
destdir='/home/gkmonitor/'
logfilename1="monitorcpu"`date +"%Y%m%d"`".log"
logfilename2="cpuoverload"`date +"%Y%m%d"`".log"
cpu=0
if [ ! -f ${logfilename1} ];
then
touch $destdir${logfilename1}
fi
if [ ! -f ${logfilename2} ];
then
touch $destdir${logfilename2}
fi
#vmstat 1 10 >> $destdir${logfilename1}
#cpu=`tail -f $destdir${logfilename1}|awk '{print $15}`
while [ $cpu -lt 99 ]
do
vmstat 1 10 >> $destdir${logfilename1}
cpu=`tail -f $destdir${logfilename1}|awk '{print $15}`
echo `date +"%Y%m%d%H%M%S"` $cpu >> $destdir${logfilename2}
done
修改完了,但是还是不写logfilename2,是逻辑出了问题么?请斑竹和各路高手指点下,谢谢
页:
[1]
