2015
02
16

MyDNSへのIP通知のスクリプト

#!/bin/sh

##Update IPv4 address to mydns.

tmpfile=tmp.$$

##Fetch only IP address into tmpfile
curl -s [IP_checking_site] | egrep -o "[0-9]{1,3}(\.[0-9]{1,3}){3}" > $tmpfile

##Set variables from tmpfile
set $(cat $tmpfile)

ipaddr=$1
mid=[ID]
passwd=[PASSWD]

##Double quotation is needed in order to evaluate variables.
curl "www.mydns.jp/directip.html?MID=${mid}&PWD=${passwd}&IPV4ADDR=${ipaddr}"


rm -rf $tmpfile


MyDNSでは、HTTPのGETリクエストのクエリに自サーバのIPアドレスを含めることによってIPアドレスの通知を行うことができます。
上記のスクリプトは自サーバのIPアドレスを外部のIP確認サイトで確認したのち、そのIPをMyDNSへ通知するためのスクリプトになります。

コマンド補足
grepやegrepの"-o"オプションはパターンにマッチした単語のみを抽出するオプションになります。
外部のIP確認サイトにアクセスした場合、レスポンスにHTMLのタグが含まれることがほとんどだと思いますが、
egrep -o "[0-9]{1,3}(\.[0-9]{1,3}){3}"とすることによって、HTMLタグを無視し、IPアドレスのみを抽出することができます。
Comment



Only the blog author may view the comment.


Trackback
Trackback URL

«  | HOME |  »

奇妙な風景 Unique Scene
<< >>

プロフィール


最新記事


最新コメント


最新トラックバック


月別アーカイブ


カテゴリ


スポンサード リンク


FC2カウンター


検索フォーム


RSSリンクの表示


リンク


ブロとも申請フォーム


QRコード