监视FS中的文件数

时间:2011-03-09 08:15:36

标签: unix

每个人都喜欢 我正在尝试使用'df -o i'命令

监视带有shell脚本的文件的容量

我在脚本中写下以下行

#FS_LIST=`df -o i | grep -v Filesystem | awk '{print $6}' | egrep -v "fd|proc" | tr -d "/"` 
FS_LIST=`df -o i | grep -v Filesystem | grep -v cdrom | awk '{print $6}' | egrep -v "fd|proc" `

for FS in $FS_LIST;
do
        CAPACITY=`df -o i "/${FS}" | awk '{print $5}' | tail -1 | tr -d %`
        LIMIT=80
        DESC="FS=$FS ,  Capacity=${CAPACITY}% , Limit=${LIMIT}%"
#       echo $DESC
        if [ $CAPACITY -gt $LIMIT ] 
        then
                LOGIC_ID="${HOST}_${FS}_${CAPACITY}_Is_Over_Limit"
                echo "LOGIC_ID =  " $LOGIC_ID
                #Send_Alarm_Up;

我接受了这个说明

df: operation not applicable for FSType autofs
df: operation not applicable for FSType ctfs
df: operation not applicable for FSType devfs
df: operation not applicable for FSType fd
df: operation not applicable for FSType hsfs
df: operation not applicable for FSType mntfs
df: operation not applicable for FSType nfs
df: operation not applicable for FSType objfs
df: operation not applicable for FSType proc
df: operation not applicable for FSType sharefs
df: operation not applicable for FSType tmpfs

我做错了什么?

2 个答案:

答案 0 :(得分:0)

正如它所说:那些“文件系统”是内核构造,不支持该操作。

你可以通过使用2>/dev/null将stderr发送到dev null来忽略它, 并且当df成功执行时,使用逻辑和运算符&&仅执行以下命令。

答案 1 :(得分:0)

df -o i为您提供FS上的文件数量

Filesystem             iused   ifree  %iused  Mounted on
/dev/md/dsk/d0        263357 1606147    14%   /
/dev/md/dsk/d5         23401 1222935     2%   /var