Projekat

Općenito

Profil

Greške #13962 » refresh_ip.sh.txt

refresh ip - sadasnje stanje, sa bugom - Ernad Husremović, 14.04.2008 08:00

 
#!/bin/sh

HOSTNAME=router-wan-sa-1
NAMESERVER=128.177.28.71
TMP_DIR=/tmp/refresh_ip

if [ ! -d $TMP_DIR ]
then
mkdir $TMP_DIR
fi

cd $TMP_DIR

IP=`ifconfig ppp0 | grep -o "inet addr:\(.*\) P-t-P" | sed -e "s/inet addr://" | sed -e "s/ P-t-P//" | sed -e "s/ //g"`
echo ip=$IP

#echo "`date` $IP">last_call.txt
#echo "x${IP}x"
LAST_IP=`cat last_ip.txt`

#echo "last-ip = _${LAST_IP}_ , current ip = _${IP}_"

if [ "${LAST_IP}" == "${IP}" ]
then
echo "`date` : no ip change ${IP}">last_call.txt
exit 0
else
echo "`date` : IP CHANGE has happened - old ${LAST_IP} new ${IP} !">last_call.txt
fi


echo $IP>last_ip.txt


(cat <<TEXT
\$TTL 60
@ IN SOA @ root (
200705251 ; serial
60 ; refresh
20 ; retry - update retry
3W12h ; expiry - 3 weeks + 12 hours
10 ) ; minimum - 2 hours
MX 10 mail.sigma-com.net.
MX 50 mail-50.sigma-com.net.
IN NS ns.sigma-com.net.

sigma-com.net. IN A 128.177.28.71
ns IN A 128.177.28.71
vps-oh1 IN A 128.177.28.71

officesa IN A ${IP}
officeze CNAME officeze.dyndns.org.

openvpn CNAME officesa
mail-50 CNAME vps-oh1

mail CNAME mail-10


masine CNAME web-1
www.masine CNAME web-1

trac CNAME web-1
repos CNAME web-1
ifolder CNAME web-1

jabber CNAME java-infra-2

svn CNAME web-1

dev-infra-2 CNAME officesa.sigma-com.net.
java-infra-2 CNAME officesa.sigma-com.net.

zimbra CNAME mail-10
blogs CNAME web-1
forums CNAME web-1
tickets CNAME web-1

web-1 CNAME dev-infra-2.sigma-com.net.
mail-10 CNAME dev-infra-2.sigma-com.net.


www CNAME web-1

web-146 CNAME officesa

TEXT
) > tmp.zone


echo "ip sigma-com.net = $IP"

FEEDBACK="0"
reload_nameserver() {

echo "reloading name server"
scp -o -y -i /etc/dropbear/${HOSTNAME}.key tmp.zone root@${NAMESERVER}:/var/named/sigma-com.net.zone
FEEDBACK=`ssh -y -i /etc/dropbear/${HOSTNAME}.key root@${NAMESERVER} service named restart | grep -c "\[.*OK.*\]"`

# 2 => 2 x [ OK ]
}
while [ "$FEEDBACK" != "2" ]
do
reload_nameserver
echo "feedback=_${FEEDBACK}_"
if [ "$FEEDBACK" != "2" ]
then
echo "error sleep 10sec"
sleep 10
fi
done
echo "ip change has finished">>last_call.txt
(1-1/4)