考虑到大家都是在自己家里架设服务器,IP是动态的,随时可能改变。为保证IP改变的时候能及时更新域名指向地址,在服务器上挂一个脚本判断IP是否已经改变,并主动发送邮件通知——这显得非常重要。
实现方法有两种:Linux和Windows,我闲到蛋疼,两个脚本都写好了,放上来跟大家分享一下。
Linux下实现的方法很简单,就是写一个bash脚本,并设置定时运行。需要用到的几个工具是:
1. 安装Lynx浏览器: sudo apt-get install lynx
2. 安装sSMTP邮件服务器(如果已经安装好别的邮件服务器,一样可行,记得修改我的发送邮件部分的代码就可以了)
3. 使用crontab实现“计划任务”
具体操作:
1. 先创建一个名为“myIP”的空白文件,或者随便写点什么
2. 创建bash脚本,代码如下:(更新提示:以下代码运行正常,但在配合crontab使用时,建议把各个文件的完整路径写上,如\home\user\myIP等等)
#!/bin/bash
export LastIP=`cat myIP`
export WanIP=`echo "$(lynx -dump checkip.dyndns.org)" | awk '{ print $4 }'`
if [ $LastIP != $WanIP ]
then
echo $WanIP > myIP
echo "WAN IP changed, send out alerts..."
下面一行代码是发送邮件给我自己,请根据自己情况修改
/usr/sbin/ssmtp abc123@gmail.com < myIP
else
echo "You're good."
fi
保存后记得修改文件属性,确保为“可执行”
以上代码测试可行,我使用Gmail收发邮件都很正常。
有关sSMTP的安装和配置,请参见(很容易的):http://www.havetheknowhow.com/Configure-the-server/Install-ssmtp.html
转载于:https://blog.51cto.com/cnbeta/1039291