Bo ja jestem wyjątkowy jerk i zapisu strasznie pół upieczony i kod m″rliv, Był w stanie zostawić bez dostępu do hostingu mój maszyna całą noc. Problem okazał się być opóźniony banalne ale każdy myśli, czas.

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

Jest to poprawione skrypt, który nie pozwoli błąd. Po trochę wyjaśnię gdzie była część problemata teraz po to, aby wyjaśnić, co sprawia, że skrypt. Przynajmniej jestem dynamiczny publiczny adres ip. Ja wysłany pocztą powyższy skrypt, aby sprawdzić zmiany w mój adres, jeśli zmiany do zmiany ustawień urządzenia i wysyła informacje do mojej domeny, że jest to zmiana. Ogólnie banalne skryptu, ale dokonano strasznie opóźniony pass. W części gdzie jest sprawdzona do zmiany adresu

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

Wcześniej było

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

Tak nie następujących linii sam dostaje 2 adres IP i porównuje je, jeśli mają one tym samym przebieg, jeśli są różne, to tylko. W poprzedniej wersji brakowało bardzo ważne błąd jakiegoś powodu skrypt zdecydowano, że mam IP = “” (нищо) и пренаписало конфигурацията на bind-а ми с празно поле и при следващата смяна вече не може да пренапише правилно конфигурацията което води липса на връзка с nameservr-a. Малоумно нали 😉