3
我想创建一个脚本,每60秒钟运行一次该命令2小时。 还希望每次将输出保存到文件时将输出保存到新行。bash脚本可以每60秒捕获2小时的负载平均值
uptime | awk '{print $12}' | cut -d "," -f 1
任何帮助将不胜感激。我有点生疏。
我想创建一个脚本,每60秒钟运行一次该命令2小时。 还希望每次将输出保存到文件时将输出保存到新行。bash脚本可以每60秒捕获2小时的负载平均值
uptime | awk '{print $12}' | cut -d "," -f 1
任何帮助将不胜感激。我有点生疏。
一个简单的循环应该为你工作。
for i in {1..120}
do
uptime | awk '{print $12}' | cut -d "," -f 1 >> /tmp/outputfile
echo "number of times through: ${i}"
sleep 60
done
使用'at'或'crontab',然后将'>/path/to/log.file'添加到代码的末尾。 – konsolebox
不幸的是,如果服务器在线时间少于一天,awk'{print $ 12}'不能正常工作,因为格式不同。 '15:51:58最多8天,7:33,1个用户,平均负载:9.50,8.32,8.50'和'15:51:58最多23:45,1个用户,平均负载:0.01,0.15,1.45'在1天后,它在正常运行时间命令中有“x天”。只是想在这里发表评论,因为这是谷歌最重要的结果,不希望别人犯同样的错误。 – Tim
您可以使用'cat/proc/loadavg'来代替正常运行时间,以获得更可靠的结果。 – Tim