公网IP变更通知
一 直接上shell脚本
#!/bin/bash
wan_ip=119.119.41.33
while [ -z "$real_wan_ip" ]
do
real_wan_ip=`curl -s http://members.3322.org/dyndns/getip`
done
if [ $wan_ip == $real_wan_ip ];then
echo "yes" > /dev/null
else
echo "old_ip:$wan_ip new_ip:$real_wan_ip" | mailx -s "公网IP已变" all@xxx.com
sed -i "s/$wan_ip/$real_wan_ip/" /root/ip.sh
fi
二 安装mailx
yum -y install mailx
三 修改配置文件
方案一:使用QQ邮箱
vim /etc/mail.rc
在配置文件下方添加如下内容
set bsdcompat
set from="xxx@qq.com"
set smtp=smtps://smtp.qq.com:465
set smtp-auth-user=xxx@qq.com
set smtp-auth-password=QQ邮箱密码
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/
方案二:使用企业邮箱
登录后复制
set bsdcompat
set from=企业邮箱账号
set smtp=smtps://smtp.exmail.qq.com:465
set smtp-auth-user=企业邮箱账号
set smtp-auth-password=邮箱密码
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/
或
set bsdcompat
set from="企业邮箱账号"
set smtp=smtps://smtp.exmail.qq.com:465
set smtp-auth-user=企业邮箱账号
set smtp-auth-password=邮箱密码
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/root/.certs
3.1获取SSL证书
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 Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
certutil -L -d /root/.certs
3.2 在/etc/mail.rc追加
set from=xxx@qq.com
set smtp=smtps://smtp.qq.com:465
set smtp-auth-user=xxx@qq.com
set smtp-auth-password=你的授权码
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/root/.certs
3.3 若报证书不信任,执行
cd /root/.certs
certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i qq.crt
3.4开启邮箱的smtp协议
四 测试邮件
echo "hello,world"|mailx -v -s "test" xx@qq.com
五 添加定时任务
[root@gitlab ~]# crontab -l
*/1 * * * * sh /root/ip.sh