0

自宅に基本的な DSL を備えたサーバーがあります。ドメイン名を (GoDaddy で) 登録し、リモートで問題なくログインできました。ただし、これには IP アドレスの入力が必要であり、静的 IP は非常に高価です。適切な動的サービスが見つかりません。代わりに、私の IP アドレスはそれほど頻繁には変更されないようです (おそらく月に 1 回程度)。そのため、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

これは実際に 1 時間ごとにメールを送信 (およびファイルを更新) するので、何か間違ったことをしたのでしょうか?

ご協力いただきありがとうございます!

JV

4

1 に答える 1

0

キャッシュするファイルから oldipinfo を読み取ることはないため、スクリプトは常にoldipinfo空の文字列に設定されています。つまり、"" != x.x.x.x常に true になります。

あなたが持っている必要があります

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