0

我家里有一台带有基本 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

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

谢谢你的帮助!

合资企业

4

1 回答 1

0

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

你应该有

oldipinfo=`cat ipinfo.txt`
于 2013-04-17T15:35:20.037 回答