定时任务结合shell脚本对系统性能监测

邮箱配置参考Linux mail 命令(smtp.163.com)_Jerry00713的博客-CSDN博客_linux mail命令

1.安装mailx

yum install mailx -y

2.修改配置文件

vi /etc/mail.rc
​
最后添加
set from=**********@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=**********@qq.com
set smtp-auth-password=**********
set smtp-auth=login

3.写shell脚本

vi /tmp/test.sh
​
#!/bin/bash
#当前时间
time=`date '+%F %H:%M:%S'`
#当前根分区剩余空间
diskfree=$(df -h | awk '{if (NR==2) print $4}' | cut -d "G" -f 1)
if [[ $diskfree -lt 15 ]]
then
        echo -e "磁盘剩余空间是:$diskfree"G"小于15G\n当前时间:$time" | mail -s 'performance test' ********@163.com
fi
#当前内存剩余
memory=`free -m | awk '{if (NR==2) print $4}'`
if [[ $memory -lt 200 ]]
then
        echo -e "内存剩余:$memory 小于200\n当前时间:$time" | mail -s 'memory test' *********@163.com
fi
​
#脚本功能描述:依据/proc/stat文件获取并计算CPU使用率
#CPU时间计算公式:CPU_TIME=user+system+nice+idle+iowait+irq+softirq
#CPU使用率计算公式:cpu_usage=(idle2-idle1)/(cpu2-cpu1)*100
#默认时间间隔
TIME_INTERVAL=5
LAST_CPU_INFO=$(cat /proc/stat | grep -w cpu | awk '{print $2,$3,$4,$5,$6,$7,$8}')
LAST_SYS_IDLE=$(echo $LAST_CPU_INFO | awk '{print $4}')
LAST_TOTAL_CPU_T=$(echo $LAST_CPU_INFO | awk '{print $1+$2+$3+$4+$5+$6+$7}')
sleep ${TIME_INTERVAL}
NEXT_CPU_INFO=$(cat /proc/stat | grep -w cpu | awk '{print $2,$3,$4,$5,$6,$7,$8}')
NEXT_SYS_IDLE=$(echo $NEXT_CPU_INFO | awk '{print $4}')
NEXT_TOTAL_CPU_T=$(echo $NEXT_CPU_INFO | awk '{print $1+$2+$3+$4+$5+$6+$7}')
​
#系统空闲时间
SYSTEM_IDLE=`echo ${NEXT_SYS_IDLE} ${LAST_SYS_IDLE} | awk '{print $1-$2}'`
#CPU总时间
TOTAL_TIME=`echo ${NEXT_TOTAL_CPU_T} ${LAST_TOTAL_CPU_T} | awk '{print $1-$2}'`
CPU_USAGE=`echo ${SYSTEM_IDLE} ${TOTAL_TIME} | awk '{printf "%.2f", 100-$1/$2*100}'`
cpu_usage=$(echo $CPU_USAGE | cut -d "." -f 1)
if [[ $cpu_usage > 80 ]]
then
        echo -e "CPU Usage:${cpu_usage}% \n当前时间:$time" | mail -s 'cpu test' **********@163.com
fi

4.定时任务

crontab -e
*/5 * * * * /usr/bin/sh /tmp/test.sh
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值