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アドレスのみを抽出することができます。

grepで複数のキーワードを検索するには

grep "keyword1\|keyword2" sample.txt


上記はOR条件になります。

プロフィール

トニヒコ

Author:トニヒコ
趣味は旅行と読書とマンガ。
将来の夢はコスモポリタン!

リンク・フリーです。

My hobby is traveling and reading(include manga).
My dream is to become cosmopolitan!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
スポンサード リンク
マクロミルへ登録
FC2カウンター
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR