Linux 监控程序报警,及邮件安装


1编辑a1.sh


#!/bin/bash
#作者:皇帝
#1.定义一个数组
name=('500361' '500441' '500701' '501721' '502181' '502361' '502441' '502481' '502501' '502502' '502522' '502523' '502562' '502583' '502601' '502641' '502661')

#2.定义变量长度
len=100
len2=0
#3.定义空变量
pj=""

#4.for循环获取一个长度
for a in ${name[@]}
do
me=`ps -ef |grep $a`
echo $me
string=${#me}
echo "长度是: $string"

#5.判断一个长度是否小于100
if [ $string -lt $len ]
then
    echo "$string -lt $len: cmpp 挂了--109 ************************************************************************************************"

#6.定义挂了长度小于100的拼接所有程序
    pj="$pj $a"
   # echo  "${a[@]}" | mail -s "cmppserver挂了" 18911407172@163.com
else
    echo "$string -lt $len: cmpp 正常"
fi

done

#8.发送皇帝邮箱
if [ ${#pj} -gt $len2 ]
then
    echo  "${#pj} -gt $len2 :cmpp 挂了--109 ************************************************************************************************"
    echo  "$pj" | mail -s "cmppserver挂了" 18911407172@163.com
else
    echo "${#pj} -gt $len2: cmpp 正常"
fi


exit

2查看邮件是否安装

[root@CentOS6-1 ~]# rpm -q mailx
mailx-12.4-7.el6.x86_64

3安装
yum -y install mailx

4编辑
vim /etc/mail.rc

set from=18911407172@163.com

set smtp=smtps://smtp.163.com:465

set ssl-verify=ignore

set nss-config-dir=/root/.certs

set smtp-auth-user=18911407172@163.com

set smtp-auth-password=123456   --邮箱密码

set smtp-auth=login

5创建目录
mkdir /root/.certs

6 编译
[root@mimvp-hz ~]# echo -n | openssl s_client -connect smtp.163.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/163.crt

[root@mimvp-hz ~]# certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt

[root@mimvp-hz ~]# certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt

[root@mimvp-hz ~]# certutil -L -d /root/.certs

7查看授权目录 /root/.certs/ 里的文件

# ll /root/.certs/
total 84
-rw-r--r-- 1 root root  2285 Jul 31 23:17 163.crt
-rw------- 1 root root 65536 Aug  1 15:36 cert8.db
-rw------- 1 root root 16384 Aug  1 15:36 key3.db
-rw-r--r-- 1 root root  2594 Aug  1 13:43 qq.crt
-rw------- 1 root root 16384 Jul 31 23:18 secmod.db

8验证
mail -v -s "subject_title" 18911407172@163.com < /etc/passwd

9提示找不到证书 Error in certificate: Peer's certificate issuer is not recognized.

[root@iZm5egf0dl4pke7gkvf28zZ ~]# pwd
/root
[root@iZm5egf0dl4pke7gkvf28zZ ~]# cd .certs/

[root@iZm5egf0dl4pke7gkvf28zZ .certs]# ll
total 80
-rw-r--r-- 1 root root  2338 Jun 10 18:43 163.crt
-rw------- 1 root root 65536 Jun 11 13:42 cert8.db
-rw------- 1 root root 16384 Jun 11 13:42 key3.db
-rw------- 1 root root 16384 Jun 10 18:43 secmod.db
[root@iZm5egf0dl4pke7gkvf28zZ .certs]# 
[root@iZm5egf0dl4pke7gkvf28zZ .certs]# certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu"  -d ./ -i 163.crt
Notice: Trust flag u is set automatically if the private key is present.

这样就不报错了

[root@iZm5egf0dl4pke7gkvf28zZ .certs] cd
[root@mimvp-hz ~]#  chmod +x a1.sh 

10创建定时任务每30分钟执行一次

[root@iZm5egf0dl4pke7gkvf28zZ ~]# crontab -e

#服务程序告警每30分钟执行一次
30 * * * * sh /root/a1.sh &>/dev/null 2>&1

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值