Jer ja sam jedinstven kreten i pisati užasno marliv i napola pečeni kôd, Ostavljam bez pristupa stroju mi ​​hosting za cijelu noć. Problem ispostavilo se imbecil trivijalan, ali sve misli o vremenu.

#!/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

Ovo je sada ispravljen skriptu koja neće griješiti. Ja ću objasniti gdje je problem dijelom o onome što se čini scenarij. Barem imam dinamičnu javnu ip. Stavio sam gore skriptu za provjeru promjene u moju adresu ako promijenila mijenjati postavke uređaja i šalje informacije za moju domenu, promjena. Sveukupno trivijalna original, ali sam napravio užasno suludom propust. U dijelu gdje se provjeriti za promjene adrese

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

prije nego što je

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

Dakle, sama red čini to traje drugi IP adresu i usporediti ih, ako su identični propustili ako različitim promjenama. U odnosu na prethodnu verziju sam propustio vrlo važnu pogrešku zbog nekog razloga skripta da sam odlučio da ću IP = “” (нищо) и пренаписало конфигурацията на bind-а ми с празно поле и при следващата смяна вече не може да пренапише правилно конфигурацията което води липса на връзка с nameservr-a. Малоумно нали 😉