我家里有一台基本的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
答案 0 :(得分:0)
您永远不会从缓存它的文件中读取oldipinfo,因此您的脚本始终将oldipinfo
设置为空字符串,这意味着"" != x.x.x.x
将始终为真。
你应该
oldipinfo=`cat ipinfo.txt`