您的位置:首页 > 其它

获取动态分配的公网IP,并发送到指定邮箱

2014-11-04 00:00 309 查看
用上网本建了个Linux服务器,由于IP是动态分配的,且经常会变化,导致外网经常连接不上服务器,想着能够在IP变化时发送邮件到指定的邮箱,这样就不怕了……

申请mailgun邮件服务

mainpage: http://www.mailgun.com/

申请mailgun的邮件发送服务, 获取 user_key

获取公网IP脚本

vim /home/user/bin/get_public_ip.sh

查询IP是否变化,如变化,发送邮件到指定地址(根据实际情况修改下面脚本中的中文部分)

#!/bin/bash

if [ -f .getip ]
then
rm -fr .oldip
mv .getip .oldip
fi

touch .oldip
wget http://members.3322.org/dyndns/getip mv getip .getip
RESULT=`diff .oldip .getip`

if [ "$RESULT" != "" ]
then
curl -s --user 'mailgun的user_key内容' \ https://api.mailgun.net/v2/sandboxed7e005db69346568602b4ee9e3a42ef.mailgun.org/messages \
-F from='Mailgun Sandbox <postmaster@sandboxed7e005db69346568602b4ee9e3a42ef.mailgun.org>' \
-F to='收件人名称 <收件人邮件地址>'\
-F subject='Server IP changed!' \
-F text=`cat .getip`
fi


配置cron

每5分钟查询IP是否变化,如变化,发送邮件到指定地址

输出命令 crontab -e , 新增内容

*/5 * * * * /bin/sh /home/user/bin/get_public_ip.sh

重启cron

sudo service cron restart
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐