[Bash]检测外网IP,不一致时发送邮件。

脚本名称:ip-addr.sh

用途:检测是否与上一次IP一致,不一致就发送邮件通知。

环境:CentOS 6.5

工具:mailx

前提条件:需要安装mailx,配置smtp服务器。


Code:

1.安装mailx

yum install -y maix

2.配置smtp邮箱(/etc/mail.rc)

set [email protected] smtp=mail.hotmail.com
set [email protected]
set smtp-auth-password=123

3.测试邮箱

echo "测试内容 " | mailx -s "测试标题" [email protected]

4. 发送邮件

#!/bin/sh

ipaddrnew=`curl ifconfig.me`
ipaddrold=`cat /root/ip-addr`

if [ ! $ipaddrold == $ipaddrnew ]
then
        echo "IP地址变更"
        echo $ipaddrnew  > /root/ip-addr
        echo "[通知][IP]["$(date +"%Y-%m-%d %H:%M:%S")"] ip地址变更: "$ipaddrnew | mailx -s  "[不定][通知][IP变更]["$(date +"%Y-%m-%d")"]"  [email protected]
else
        echo "IP地址正常"
fi

5.设置定时任务(30分钟检测一次)

crontab -e
*/30 * * * * /root/ip-addr.sh



你可能感兴趣的:([Bash]检测外网IP,不一致时发送邮件。)