shell磁盘监控自动化处理

分类:shell编程 阅读:10520 次

cat disk.sh
#!/bin/bash

for i in `df |sed 1d | awk '{print $5}' | sed 's/%//g'` ####获取后循环比较大小####
do
if [ $i -gt 10 ] ###这里阀值设置为10,为了方便测试效果###
then
df -lh >>disk.txt ####追加到disk.txt以方便警告给管理员####
ip=`ifconfig eth0|sed -n 2p|awk '{ print $2 }'|awk -F : '{ print $2 }'`
echo "${ip}这台主机磁盘超过阀值,请及时处理" ###这里可以换成email发邮件或者飞信###
fi
done

执行:

[root@2 shell]# sh disk.sh
192.168.2.4这台主机磁盘超过阀值,请及时处理
[root@2 shell]# cat disk.txt
文件系统 容量 已用 可用 已用% 挂载点
/dev/hda3 192G 4.0G 178G 3% /
/dev/hda1 99M 12M 83M 13% /boot
tmpfs 506M 0 506M 0% /dev/shm

最后配合crontab使用,每三十分钟执行一次即可