【shell】Linux shell 得到 CPU 使用率 发送邮件通知

#使用Yum 来安装依赖包

yum -y install sendmail
yum -y install mailx

#配置/etc/mail.rc

# 对方收到邮件时显示的发件人
set from=XXXXX@qq.com
# 第三方发邮件的smtp服务器地址                                 
set smtp=smtps://smtp.qq.com:465
# 第三方发邮件的用户名                
set smtp-auth-user=XXXXX@qq.com
# 授权码
set smtp-auth-password=cyolbibuyanwdjii
set ssl-verify=ignore
set nss-config-dir=/root/.certs
# SMTP的认证方式
set smtp-auth=login   

#建立nss-config-dir对应的证书,直接全部复制粘贴

mkdir -p /root/.certs/
echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt
certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
certutil -L -d /root/.certs
certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i qq.crt

测试

echo "测试邮件" | mail -s "测试" *********@qq.com

脚本内容

#!/bin/bash

# 得到ip
ip=`ip addr show eth0 | awk ' !/127.0.0.1/ && /inet/ { gsub(/\/.*/, "", $2); print ""$2 }'`
#计算cpu使用率
cpu=`top -b -n1 | fgrep "Cpu(s)" | tail -1 | awk -F'id,' '{split($1, vs, ","); v=vs[length(vs)]; sub(/\s+/, "", v);sub(/\s+/, "", v); printf "%d", 100-v;}'`
#统计内存使用率
mem_used_persent=`free -m | awk -F '[ :]+' 'NR==2{printf "%d", ($2-$7)/$2*100}'`

if [ $cpu -gt 80]; then

SUBJECT="注意:CPU负载高 $ip  $cpu%  $(date)"

TO="XXXXX@qq.com"

MESSAGE="/tmp/Mail.out"

echo "ip: $ip" >> $MESSAGE

echo "+-------------------------------------+" >> $MESSAGE

echo "CPU 使用率: $cpu%" >> $MESSAGE

echo "+-------------------------------------+" >> $MESSAGE

echo "内存使用率: $mem_used_persent%" >> $MESSAGE

echo "+-------------------------------------+" >> $MESSAGE

echo "CPU 使用率详情:" >> $MESSAGE

echo "+-------------------------------------+" >> $MESSAGE

echo "$(ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10)" >> $MESSAGE

#发送邮件

mail -s "$SUBJECT" "$TO" < $MESSAGE

rm /tmp/Mail.out

fi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值