linux文档采集前五行,Linux 学习-Shell筛选top前五行信息

一般的巡检需要查看cpu的使用率以及swap空间的使用率(当然如果系统并没有使用可以忽略)

现在的操作是将top前五行的信息写入一个临时的文件:

# top -b -n 8 | grep 'top -' -A 5 > /tmp/top_temp.txt

注:-n是获取8次top的信息,-A是获取搜索到'top -'开始的后五行

扩展:对top信息进行提取,只获取cpu,内存,swap的占有率

#! /bin/bash

# $1:指定存储获取信息文件完整路径和文件名

filename=$1

now=1

for i in `top -b -d 0.5 -n 2 | grep '%Cpu' -A 3 `

do

if [ "$now" -eq 42 ]

then

cpuus=$i

echo "cpuus $i"

elif [ "$now" -eq 48 ]

then

cpuid=$(printf "%.5f" `echo "scale=3;100-$i"|bc`)

echo "cpuid $cpuid"

elif [ "$now" -eq 61 ]

then

memall=$i

echo "memall $i"

elif [ "$now" -eq 65 ]

then

memused=$(expr $i \* 100)

echo "menused $i"

elif [ "$now" -eq 71 ]

then

swapall=$i

echo "swapall $i"

elif [ "$now" -eq 75 ]

then

swapused=$(expr $i \* 100)

echo "swapused $swapused"

fi

now=$(expr $now + 1)

done

memusedp=$(printf "%.5f" `echo "scale=3;$memused/$memall"|bc`)

swapusedp=$(printf "%.5f" `echo "scale=3;$swapused/$swapall"|bc`)

echo -e "$cpuus\t$cpuid\t$memusedp\t$swapusedp">> $filename

echo -e "$cpuus\t$cpuid\t$memusedp\t$swapusedp"

76a77f310e9b

1.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值