红联Linux门户
Linux帮助

linux下简单的磁盘报警脚本/crontab无法获取变量

发布时间:2017-02-08 09:49:45来源:linux网站作者:吴兴普
此脚本用户简单的系统性能报警.具体变量定义可以视情况自行调整。
 
测试环境信息
操作系统版本:CentOS release 6.7 (Final)
内核版本:Linux ZQWY-COMMON-239 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
 
脚本内容
#!/bin/bash
source /etc/profile
diskused=`df -h | awk '{print $4}' | head -n 3 | grep '%' | awk -F'%' '{print $1}'`
IP=`ip a | grep inet | egrep -v 127.0.0.1 | egrep -v inet6 | awk -F' ' '{print $2}' | awk -F'/' '{print  $1}'`
report=80
if [ $diskused -ge $report ]
then
echo " $IP disk used more than 90%      " | mail -s 'diskreport' wuxp@imsa.org.cn
echo " $IP disk used more than 90%      " | mail -s 'diskreport' lxx@ixxxx.org.cn
fi
 
测试脚本时遇到手动执行正常,但是定时任务无法执行.
此时可以查看日志 tail -f /var/log/cron
另有手动执行可以获取变量,定时任务无法获取变量值. 
在脚本中添加环境变量即可,例如:source /etc/profile
此脚本用户了内网测试机器报警,非生产,测试环境仅邮件报警,未添加zabbix/短信。
 
定时任务内容
[root@ZQWY-COMMON-239 scripts]# crontab -l
8 14 * * * sh /root/scripts/diskreport.sh
 
本文永久更新地址:http://www.linuxdiyf.com/linux/28238.html