Fordi jeg er unik rykk og skrive forferdelig halvferdig og m″rliv koden, Jeg klarte å forlate uten tilgang til hosting maskinen hele natten. Problemet viste seg for å være tilbakestående trivielt men noen tanker om gangen.

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

Dette er en revidert script som ikke tillater feilen. Etter litt jeg vil forklare gjør hvor hun var en del problemata nå å forklare hva skriptet. Minst er jeg en dynamisk offentlige ip. Jeg postet ovenfor skriptet å sjekk for en endring i adresseboken hvis du endrer innstillingene av maskinen og sender mitt domene, at det er en endring. Generelt ble trivielle skript, men det gjort en fryktelig tilbakestående pass. I delen der det er merket av for adresseendring

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

Før det var

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

Gjør følgende linje selv får 2 IP-adresse og sammenligner dem hvis de har samme pass hvis de er forskjellige, det bare. I den forrige versjonen jeg hadde savnet et svært viktig feil for noe grunn skriptet ble det besluttet at jeg har IP = “” (нищо) и пренаписало конфигурацията на bind-а ми с празно поле и при следващата смяна вече не може да пренапише правилно конфигурацията което води липса на връзка с nameservr-a. Малоумно нали 😉