我在脚本中写下以下行
#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
我做错了什么?
答案 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