linux检测活体ip并邮件提醒

1、安装mailx

2、vi /etc/mail.rc,追加一下内容:

set
set smtp=smtps://smtp.qq.com:465
set
set smtp-auth-password=lmXXXsylsppwbgcf
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/root/.certs

3、执行一下6句:

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/.cert

certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i qq.crt

4、写脚本

#!/bin/bash
MAIL=" "
for ip in $(cat ip_list|sed "/^#/d") #ip_list是当前目录下IP表
do
ping -c 1 $ip &>/dev/null #三个ping有一个能通,说明服务器正常
a=$?
sleep 2
ping -c 1 $ip &>/dev/null
b=$?
sleep 2
ping -c 1 $ip &>/dev/null
c=$?
sleep 2
DATE=$(date +%F" "%H:%M)
if [ $a -ne 0 -a $b -ne 0 -a $c -ne 0 ];then
echo -e "Date : $DATE\nHost : $ip\nProblem : Ping is failed\" | mailx -s "Server port failed : $ip " $MAIL
#else
# echo "$ip ping is successful."
fi
done