#!/bin/sh # myIP ver. 1.1 2003.07.15 # scripted by m9841 # MN7310 のログイン名 MN7310_USER=hogehoge # MN7310 のパスワード MN7310_PASSWORD=hugahuga # MN7310 の IP MN7310=*.*.*.* # 古い IP を保存しておくファイル OLD_IP_FILE=old_ipaddress # ログファイル LOG_FILE=ipupdate.log # ログの最大サイズ(バイト) MAX_LOG_SIZE=100000 # miniDNS の FQDN miniDNS_HOST=hoge.minidns.net # miniDNS のログイン名 miniDNS_USER=fugafuga # miniDNS のパスワード miniDNS_PASSWORD=gagaga # miniDNS のログ miniDNS_LOG=miniDNS.log # Check the old IP file. [ -f $OLD_IP_FILE ] || exit 0 # Check the log file. [ -f $LOG_FILE ] || exit 0 # Check the miniDNS log file. [ -f miniDNS.log ] || exit 0 # Check the log size log_size=`wc -c $LOG_FILE | sed s/$LOG_FILE//` if [ $log_size -ge $MAX_LOG_SIZE ] then echo > $LOG_FILE fi # Get IP from MN7310 ipaddress=`wget -t1 -T10 -q -O - http://$MN7310_USER:$MN7310_PASSWORD@$MN7310/cgi-bin/main.cgi?cc_webname=STATUS | grep 'ADSL IP' | sed -e 's|^ADSL IP:||' -e 's|Peer IP.*||'` # Write log if [ -z $ipaddress ] then echo "`date` cannot get IP from MN7310." >> $LOG_FILE exit 1 else echo "`date` get IP successful $ipaddress." >> $LOG_FILE fi # Read the old IP. old_ipaddress=`cat $OLD_IP_FILE` # Compare IP from MN7310 with old IP. # And change miniDNS record. if [ "$ipaddress" = "$old_ipaddress" ] then # Do notning echo "`date` IP is not changed. Do nothing." >> $LOG_FILE exit 0 elif [ "$ipaddress" != "$old_ipaddress" ] then # Change IP echo "`date` IP is changed from $old_ipaddress into $ipaddress." >> $LOG_FILE echo "$ipaddress" > "$OLD_IP_FILE" wget -q -O $miniDNS_LOG "http://www.minidns.net/areg.php?opcode=ADD&username=$miniDNS_USER&password=$miniDNS_PASSWORD&host=$miniDNS_HOST&ip=$ipaddress" exit 0 else # There is some problems. exit 1 fi