项目中最常见的监视任务是监视整个文件系统,在不同的UNIX系统上,监视方法都是相同的,但是命令以及输出结果的字段略有不同,形成这种差别是由于不同的UNIX有着不同的命令语法及输出字段。
客户要求我们需要对以下平台的UNIX进行监控:Sgi Irix,IBM AIX,Redhat Linux,SUN Solaris,HP HP-UX。
UNIX操作系统本身就是一个超级编译器,所以对于程序员来说,使用并了解现有的命令及功能尤其重要了。
首先,我们来看一下获得所需的命令语法:
AIX中以KB字节或1024字节块查看文件系统的命令是df -k.命令执行结果有一下几列:
Filesystem 1024-blocks free %used Iused %Iused Mounted on
我们关心的是第一个:filesystem设备,第四个,以及第七个,至少有2个原因让我们需要了解文件系统设备和装配点。第一个原因是了解文件系统是不是一个NFS装配文件系统,如果NFS那么显示的是NFS服务器名称。第二个原因是不希望监视一个已经装配的CDROM,CD-ROM总是显示100%使用,作为只读设备来安装。
我们首先去掉这些标题。使用参数 df -k | tail +2
这样去掉了标题,但是还是有很多信息不是我们需要的,/cdrom 不需要显示,/proc装配点没有值表示,只是一个“-”符号。驱除这个内容,我们使用egrep语句:df -k | tail +2 |egrep -v '/dev/cd[0-9]/proc'
我们使用egrep和-v开关