Sebab aku jerk unik dan menulis kod teruk marliv dan separuh masak, Saya meninggalkan tanpa akses kepada mesin hosting saya sepanjang malam. Masalahnya ternyata menjadi dungu remeh tetapi apa-apa pemikiran masa.

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

Ini kini telah dibetulkan skrip yang tidak akan sesat. Saya akan menjelaskan di mana adalah masalah sebahagian sekarang untuk menjelaskan apa yang membuat skrip. Sekurang-kurangnya saya sudah ada ip awam dinamik. Saya meletakkan skrip di atas untuk memeriksa perubahan dalam alamat saya jika ditukar kepada mengubah tetapan mesin dan menghantar maklumat untuk domain saya, perubahan. skrip remeh keseluruhan tetapi saya telah dibuat peninggalan teruk gila. Dalam bahagian di mana anda menyemak pertukaran alamat

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

sebelum ia

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

Jadi perintah itu sendiri membuat ini mengambil alamat IP ke-2 dan mengumpul mereka jika mereka adalah sama terlepas jika kemas kini berbeza. Dalam versi sebelumnya saya telah terlepas ralat sangat penting untuk sebab-sebab tertentu skrip saya telah memutuskan bahawa saya IP = “” (нищо) и пренаписало конфигурацията на bind-а ми с празно поле и при следващата смяна вече не може да пренапише правилно конфигурацията което води липса на връзка с nameservr-a. Малоумно нали 😉