linux shell脚本给邮箱发磁盘cpu内存信息

1首先下载mailx和 mailx sendmail

yum -y install mailx
yum -y install mailx sendmail

2选择自己接收的邮箱 比如QQ邮箱

在设置里按步骤开启IMAP/SMTP服务
第一二步
第三步需要邮箱验证 请耐心弄完 你会获得授权码
第三步

3修改 etc/mail.rc文件

在里面添加上用自己的邮箱和授权码

set from=2529984763@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=2529984763@qq.com
set smtp-auth-password=授权码
set smtp-auth=login!]

4 编写shell脚本文件(记得22行用自己邮箱)

#!/bin/bash
#获取cpu使用率
cpuUsage=`top -n 1 | awk -F '[ %]+' 'NR==3 {print $3}'`
echo "获取cpu使用率$cpuUsage"
#获取磁盘使用率
data_name="/dev/sda1"
diskUsage=`df -h | grep $data_name | awk -F '[ %]+' '{print $5}'`
logFile=/tmp/jiankong.log
echo "获取磁盘使用率$diskUsage"
#获取内存情况
mem_total=`free -m | awk -F '[ :]+' 'NR==2{print $2}'`
echo "总内存$mem_total"
mem_used=`free -m | awk -F '[ :]+' 'NR==2{print $3}'`
echo "使用的内存$mem_used"

#统计内存使用率
mem_used_persent=`awk 'BEGIN{printf "%.0f\n",('$mem_used'/'$mem_total')*100}'`
echo "获取内存使用率$mem_used_persent"
#获取报警时间
now_time=`date '+%F %T'`
function send_mail(){
        mail -s "邮件名" 2529984763@qq.com < /tmp/jiankong.log
}
function check(){
        if [[ "$cpuUsage" > 1 ]] || [[ "$diskUsage" > 80 ]] || [[ "$mem_used_persent" > 80 ]];then
                echo "报警时间:${now_time}" >> $logFile
                echo "CPU使用率:${cpuUsage}% --> 磁盘使用率:${diskUsage}% --> 内存使用率:${mem_used_persent}%" >> $logFile
                send_mail
        fi
}
function main(){
        check
}
main

5执行shell脚本文件

注意 如果你设置的满足CPU用了80%以上才发送邮件 你怎么运行也不会发送的 建议测试的时候 改成用了1%就发
在这里插入图片描述
执行结果如下 邮箱也会收到(不想显示就把脚本中的echo删除)
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值