1. 程式人生 > >shell腳本 檢測根分區硬盤空間使用率

shell腳本 檢測根分區硬盤空間使用率

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腳本 檢測根分區硬盤空間使用率