私的mydns.jpの更新スクリプトを考えた話
自宅サーバー運用に欠かせないDDNSです。
いろいろあるのですが、独自ドメインを自宅サーバーで使うには
私的mydns.jp しか選択がないようなきがする。
DDNSサービスが提供しているサブドメインを使うのなら他にも選択はあるのですが、
少なくともFreeNomのドメインは無理でした。
DDNSサービスに対する勘違い
DDNSだと、IPアドレスが変わってしまったときにIPアドレスを通知する必要があります。
ここで勘違いしていたことがあって、
この通知は負荷になるのであまりしてはいけないものだと思っていました。
そうしていたら、1週間後にメールが来ました。
「通知が一定期間無いと、削除するよ!」
って言う内容でした。
ちょっと解せず、「通知していないのはIPに変更がないからです」とメールをすると、
「定期的に通知をしていただく制度になっています。3分に1回でも良いですよ!」
と言われてしまいました。負荷を制限とか考えなくてもいいみたいでした。
せっかくなので、更新スクリプトです
そんなやり取りをする前に作ってしまった私的mydns.jp用の更新スクリプトです ^^;
#!/bin/sh #Id password ID=mydns***** PASSWORD=******** #変数定義 HTTP="http://" IPV6=${HTTP}${ID}:${PASSWORD}@ipv6.mydns.jp/login.html IPV4=${HTTP}${ID}:${PASSWORD}@ipv4.mydns.jp/login.html IP_FILE=CURRENT_IP.txt CURRENT_IP="0.0.0.0" NEW_IP="0.0.0.0" UPDATE_LOG=UPDATE.log #前回のIP if [ -f $IP_FILE ] ; then CURRENT_IP=`cat $IP_FILE` fi #今回のIP # curl ifconfig.co # curl inet-ip.inf NEW_IP=`curl ifconfig.co` if [ $CURRENT_IP = $NEW_IP ] ; then : else wget -q -O `date +%Y%m%d_%H%M%S`_ipv6.txt $IPV6 if [ $? = 0 ] ; then sleep 3; wget -q -O `date +%Y%m%d_%H%M%S`_ipv4.txt $IPV4 if [ $? = 0 ] ; then #更新 echo $NEW_IP > $IP_FILE echo [`date +%Y%m%d_%H%M%S`] update $CURRENT_IP to $NEW_IP >> $UPDATE_LOG fi fi fi
ディスカッション
コメント一覧
まだ、コメントがありません