shell获取硬盘信息
上一篇shell脚本监控服务器状态,有几个参数值得给大家讲解下,这里再次说下每个脚本最好是自己先测试下,再发到服务器上去,避免出现问题再去瞎找,说不定一慌就什么都会搞错.
系统:centos 5.5
相信大家已经看到我脚本里有处地方保持了注释符的.
#disk_sda=`df -h | grep /dev/sda3 | awk '{print $5}' | cut -f 1 -d "%"`
disk_sda=`df -Ph |grep /dev/mapper/VolGroup00-LogVol00|awk '{print $5}'|cut -f 1 -d "%"`
可以看到上面,原作者服务器的硬盘是分成了/dev/sda3的,但我的服务器在安装的时候,是保持的默认安装,目前市面上的xen vpn都是保持的默认分区的,也就是/dev/mapper/VolGroup00-LogVol00,如果我们用原作者的命令的话,如
df -h | grep /dev/mapper/VolGroup00-LogVol00 | awk '{print $5}' | cut -f 1 -d "%"
这样是获取不到任何的信息的,为什么会这样呢,如下图
大家可以看到/dev/mapper/VolGroup00-LogVol00和参数是变成了两行的,所以用原作者的命令是获取不到任何信息.
为了获取到信息,网上搜了下,发现使用df -P可以让信息排列得很整齐,如下图
可以看到排列得是不是很整齐了,当然目前这只是获取到的kb,只要加上df -Ph,获取到的就是MB了,所以才有了下面这句:
df -Ph |grep /dev/mapper/VolGroup00-LogVol00|awk '{print $5}'|cut -f 1 -d "%"
可以看到获取到值15了,也就说我根分区已经使用了15%.
好了,就到这里吧,说了这么多就只是为了给大家一些思路,而且不是技术.
ps:df -P 是指同一分区不换行输出.
评论: