珀耳塞福建 发表于 2018-8-25 07:57:51

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 根分区检测"xxx@163.com
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


页: [1]
查看完整版本: shell脚本 检测根分区硬盘空间使用率