goo blog サービス終了のお知らせ 

自宅サーバ備忘録

自宅サーバの設定を忘れないように書いておこう

perl GetOptions

2006-01-08 10:09:35 | Weblog
ひさびさにperlのGetOptionsモジュールを使ってみた.

これは非常に使い勝手がよいからいつでも
使えるようにメモしておく.

GetOptionsの説明

サンプルスクリプト:

use Getopt::Long;

$result = GetOptions("arg0", "arg1:i", "arg2:f","arg3:s");

if($opt_arg0){
print "引数arg0が指定されました\n";
}
else{
print "引数arg0は指定されていません\n";
}

if($opt_arg1){
print "引数arg1に指定された整数値は$opt_arg1です\n";
}
else{
print "引数arg1は指定されていません\n";
}

if($opt_arg2){
print "引数arg2に指定された実数値は$opt_arg2です\n";
}
else{
print "引数arg2は指定されていません\n";
}

if($opt_arg3){
print "引数arg3に指定された文字列は$opt_arg3です\n";
}
else{
print "引数arg3は指定されていません\n";
}

実行例:

$ perl test_getoptions.pl -arg0 -arg1 100 -arg2 3.14 -arg3 hello
引数arg0が指定されました
引数arg1に指定された整数値は100です
引数arg2に指定された実数値は3.14です
引数arg3に指定された文字列はhelloです

DDNSの登録の自動更新

2006-01-07 00:24:43 | Weblog
自宅サーバはやはり名前でひけるようにしたい.
でもプロバイダからもらえるIPは固定でないから
DDNSに登録してもBBルータの再起動などで
DDNSからIPを引けなくなってしまう.
そのたびに手動で設定を更新するのは面倒・・・

ieServer.netではcronに自動更新スクリプトを
書く例が紹介されていた.
これで,もしBBルータの再起動などで
グローバルアドレスが変化しても,
IPアドレスを自動更新できるね.

ieServer.netのcron設定例

早速使ってみた.

まずはieServer.netでユーザ登録を行う.

その後スクリプトddns-update.plをダウンロードし
/usr/local/ddns/に置く.

登録したユーザ名,ドメイン名,パスワードをddns-update.plに書き込む.

ddns-update.plに実行権限をつける
(chmod 755 ip_update.pl)

crontab -eして1時間に1回IPアドレスを更新するようにする.
0 * * * * /usr/local/ddns/ddns-update.pl

どうやらうまく動いているようだ.
(ip_update.logというファイルにログを吐き出しているので
それを見るとわかる)