Căci eu sunt nesimțit unic și scrie oribil MARLIV și jumătate coapte cod, Vă las fără acces la masina ma gazduieste pentru toata noaptea. Problema sa dovedit a fi un imbecil banal, dar orice gânduri de timp.

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

Acest lucru este acum corectat script-ul, care nu va greșească. Voi explica în cazul în care a fost parte problema acum pentru a explica ceea ce face ca script-ul. Cel puțin eu am un ip dinamic publică. Am pus script-ul de mai sus pentru a verifica pentru o schimbare în adresa mea, dacă este modificată pentru a modifica setările aparatului și trimite informații pentru domeniul meu, o schimbare. În general scenariu banal, dar am fost făcut omisiune oribil dement. În partea în care vă verificați o modificare a adresei

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

înainte de a fi fost

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

Așa că comanda se face acest lucru ia adresa de IP a 2-a și le asambla în cazul în care acestea sunt identice ratat în cazul în diferite actualizări. În versiunea anterioară am pierdut o eroare foarte importantă pentru un motiv oarecare scenariu am decis că am IP = “” (нищо) и пренаписало конфигурацията на bind-а ми с празно поле и при следващата смяна вече не може да пренапише правилно конфигурацията което води липса на връзка с nameservr-a. Малоумно нали 😉