Projekat

Općenito

Profil

Nove funkcije #14045 » refresh_ip.sh.txt

0.9.3 Apr 14, 2008, hernad@bring.out.ba - Ernad Husremović, 22.04.2008 16:25

 
#!/bin/sh
# ver 0.9.3 Apr 14, 2008, hernad@bring.out.ba

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"`

LAST_IP=`cat last_ip.txt`

mv last_call.txt old_call.txt
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


(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.


ns IN A 128.177.28.71
vps-oh1 IN A 128.177.28.71

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


mail-50 CNAME vps-oh1
mail CNAME mail-10

openvpn CNAME officesa
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
java-infra-2 CNAME officesa

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

web-1 CNAME dev-infra-2
mail-10 CNAME dev-infra-2

web-146 CNAME officesa
. CNAME officesa

TEXT
) > tmp.zone


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

FEEDBACK="0"
reload_nameserver() {

echo "restarting 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 $IP>last_ip.txt
echo "ip change has finished">>last_call.txt
exit 0
else
echo "error sleep 10sec"
echo "error10 ">>last_call.txt
sleep 10
fi
done
echo "ip change unsucessfull (after while) ?!?">>last_call.txt

(5-5/5)