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监控脚本----硬盘空间和内存

linux shell脚本检测硬盘磁盘空间 邮件报警

fdisk分区硬盘并shell脚本自动化

shell脚本对硬盘进行分区——fdiskblkidmke2fsmountlsblk

Linux下硬盘分区:根分区(/)交换分区(/swap)和/boot分区

使用shell脚本自动化对硬盘进行分区