非静态IP:警告更改的脚本

时间:2013-04-17 15:33:19

标签: dns ip

我家里有一台基本的DSL服务器。我注册了一个域名(在GoDaddy)并且可以远程登录就好了。然而,这需要输入IP地址,并且静态IP将非常昂贵。我还没有找到一个好的动态服务。相反,似乎我的IP地址不会经常变化 - 可能每月一次 - 因此我更新GoDaddy域信息也很容易。但是,我希望在发生此更改时从我的服务器收到警报。这是我写的脚本:

#!/bin/bash

oldipinfo=""

while [ 1 ]
do
  sleep 3600
  ipinfo=`lynx -dump checkip.dyndns.org`
  if [ ipinfo != oldipinfo ]
  then
    echo "New IP for server $(ipinfo)" | mail -s "NEW IP!" myaddress@gmail.com
    echo $ipinfo >> ipinfo.out
    oldipinfo=ipinfo
  fi
done

这实际上每小时发送一次电子邮件给我(并更新文件),所以我做错了什么?

感谢您的帮助!

JV

1 个答案:

答案 0 :(得分:0)

您永远不会从缓存它的文件中读取oldipinfo,因此您的脚本始终将oldipinfo设置为空字符串,这意味着"" != x.x.x.x将始终为真。

你应该

oldipinfo=`cat ipinfo.txt`