shell腳本 檢測根分區硬盤空間使用率
阿新 • • 發佈:2018-05-24
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腳本 檢測根分區硬盤空間使用率