shell脚本 检测根分区硬盘空间使用率
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本 检测根分区硬盘空间使用率相关的知识,希望对你有一定的参考价值。
#!/bin/bash
IP=$(ifconfig eth0 |grep "inet addr"| awk '{print $2}' |cut -f1 -d":") a=$(df -h |grep /dev/sda2 |awk '{print $5}'|cut -f1 -b"%" ) #截取分区使用率
if [ $a -ge 80 ] then echo "$IP 服务器根分区即将没有空间,请及时清理。" |mail -s "$IP 根分区检测" [email protected]
fi
这里我使用163邮箱,相关设置查看一下链接
https://blog.csdn.net/zh314js/article/details/76038868 转自csdn
以上为最初写,sh直接执行没有报错并且当使用率大于80时,会正常向邮箱发送相关警告,但是当写入crontab定时任务时如下:
*/2 * * * * /shell_script/disk_check.sh
邮箱收到的邮件 中文以及$IP都未正常显示,两个问题的原因都是环境变量导致,crontab运行时已经不是用户的环境了,
针对中文乱码问题:
echo $LANG 先查看语言环境比如是:zh_CN.GB2312
在脚本中添加行: export LANG=zh_CN.GB2312
针对$IP无法显示问题:
在脚本中添加行: source /etc/profile
以上是关于shell脚本 检测根分区硬盘空间使用率的主要内容,如果未能解决你的问题,请参考以下文章
shell脚本对硬盘进行分区——fdiskblkidmke2fsmountlsblk