进行磁盘空间检查,那么需要使用df命令
df 命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况
进行磁盘空间检查,那么我们需要使用命令df命令。
df参数相关
-a, --all 包含所有的具有 0 Blocks 的文件系统
--block-size={SIZE} 使用 {SIZE} 大小的 Blocks
-h, --human-readable 使用人类可读的格式(预设值是不加这个选项的...)
-H, --si 很像 -h, 但是用 1000 为单位而不是用 1024
-i, --inodes 列出 inode 资讯,不列出已使用 block
-k, --kilobytes 就像是 --block-size=1024
-l, --local 限制列出的文件结构
-m, --megabytes 就像 --block-size=1048576
--no-sync 取得资讯前不调用sync (预设值)
-P, --portability 使用 POSIX 输出格式
--sync 在取得使用前 调用sync
-t, --type=TYPE 限制列出文件系统的 TYPE
-T, --print-type 显示文件系统的形式
-x, --exclude-type=TYPE 限制列出文件系统不要显示 TYPE
-v (忽略)
显示所有磁盘信息
显示所有磁盘空间占用情况
1 df -ha 【-a 显示所有】
2 df -h 列出文件系统的类型
3 显示磁盘的全部信息,可以查看系统类型信息
df -T
4 以inode模式显示磁盘使用情况
5, 工作日时间,每10分钟执行一次磁盘空间检查,一旦发现任何分区利用率高 于80%,就发送邮件报警
PS 【使用“df -h” 在基于Centos6的系统上进行磁盘空间告警,如图下所示,输出的格式有问题。
为了解决这个问题,我们需要使用“df -Ph”(POSIX输出格式)】
#!/bin/bash
#author wuhen
#DATE 2019.12.16
#name check.sh
#获取第一行和第5行
ALL=`df -Ph|grep -vE "Filesystem"|awk -F "%" '{print $1}'|awk '{print $5}'`
for i in ${ALL} ;do
if [ $i -gt 80 ];then
echo "磁盘使用率:${i}%" |mail -s"监控报警" xxxxx@163.com
fi
done
**然后,在任务计划中 crontab
#每十分钟检查一次**
*/10 * * * 1-5 sh /opt/check.sh