2013-04-17 40 views
0

我有一臺服務器在家裏與基本的DSL。我註冊了一個域名(在GoDaddy),並且可以遠程登錄。但是,這要求IP地址和靜態IP的輸入會非常昂貴。我還沒有找到一個很好的動態服務。相反,我的IP地址似乎並不經常更改 - 可能每月一次 - 所以對我來說,更新GoDaddy域信息同樣容易。但是,我希望在發生此類更改時收到來自服務器的警報。下面是我寫這樣做的腳本:非靜態IP:腳本來提醒變化

#!/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!" [email protected] 
    echo $ipinfo >> ipinfo.out 
    oldipinfo=ipinfo 
    fi 
done 

這實際上電子郵件我(和更新文件)每隔一小時,所以我做錯了什麼?

感謝您的幫助!

合資

回答

0

你從來不看你從緩存它在該文件的oldipinfo,所以你的腳本總是有oldipinfo設置爲空字符串,這意味着"" != x.x.x.x將永遠是正確的。

你應該有

oldipinfo=`cat ipinfo.txt`