Ker sem edinstven kreten in pisati strašno Polupečen, koda m″rliv, Sem mogel zapustiti brez dostopa za gostovanje svoj stroj celo noč. Težave izkazalo, da zaostal nepomembno, vendar misli časa.

#!/bin/bash -x
wget http://checkip.dyndns.org/ -O /tmp/ipaddr
IPADDR=$(cat /tmp/ipaddr | grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>')
IPADDROLD=$(cat /tmp/ipaddr_old | grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>')

if [ "$IPADDR" != "$IPADDROLD"  -a "$IPADDR" != "" ]
then
 sed -i "s/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/$IPADDR/" /etc/bind/neo2shyalien.eu
 /etc/init.d/bind9 restart
 echo "server localhost" > /tmp/nsupdate
 echo "zone neo2shyalien.eu" >> /tmp/nsupdate
 echo "update delete ns.neo2shyalien.eu. A" >> /tmp/nsupdate
 echo "update delete ns.neo2shyalien.eu. CNAME" >> /tmp/nsupdate
 echo "update add ns.neo2shyalien.eu. 38400 A $IPADDR" >> /tmp/nsupdate
 echo "update add *.neo2shyalien.eu. 38400 CNAME ns.neo2shyalien.eu." >> /tmp/nsupdate
 echo "show" >> /tmp/nsupdate
 echo "send" >> /tmp/nsupdate
 echo "" >> /tmp/nsupdate
 /usr/bin/nsupdate -k /etc/Kns.neo2shyalien.eu.+157+59417.private -d /tmp/nsupdate
 mv /tmp/ipaddr /tmp/ipaddr_old
fi

To je revidirana skript, ki ne bo omogočila napako. Po malo bom razložiti, kjer je bila del problemata zdaj, da pojasni, kaj naredi scenarij. Vsaj jaz sem dinamični javni ip. Sem objavil zgoraj scenarij, naj preveri za spremembo v moj naslov, če spremenite nastavitve stroja in pošilja informacije za mojo domeno, da je sprememba. Na splošno nepomembno scenarij, vendar je bilo strašno zaostal prelaz. V delu, kjer se preverja za spremembo naslova

if [ "$IPADDR" != "$IPADDROLD"  -a "$IPADDR" != "" ]

Preden je bilo

if [ "$IPADDR" != "$IPADDROLD"]

Tako ne naslednje linije sama dobi 2 IP naslov in jih primerja, če imajo isti pass, če so različne, je samo. V prejšnji različici, ki sem zamudil zelo pomembno napako iz neznanega razloga scenarij je bilo odločeno, da imam IP = “” (нищо) и пренаписало конфигурацията на bind-а ми с празно поле и при следващата смяна вече не може да пренапише правилно конфигурацията което води липса на връзка с nameservr-a. Малоумно нали 😉