Karena aku brengsek yang unik dan menulis mengerikan setengah matang dan kode m″rliv, Saya mampu untuk pergi tanpa akses ke hosting mesin saya sepanjang malam. Masalahnya ternyata menjadi terbelakang sepele tapi pikiran dari waktu.

#!/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 adalah sebuah skrip revisi yang tidak akan membiarkan kesalahan. Setelah sedikit saya akan menjelaskan mana dia adalah bagian problemata sekarang untuk menjelaskan apa membuat script. Setidaknya saya umum ip dinamis. Saya diposting di atas script untuk memeriksa perubahan alamat saya jika Anda mengubah untuk mengubah pengaturan mesin dan mengirimkan informasi untuk domain saya, bahwa ada perubahan. Umumnya script sepele tapi dibuat sangat terbelakang lulus. Di bagian mana ia akan diperiksa untuk perubahan alamat

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

Sebelum itu

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

Begitu pula berikut garis sendiri mendapat 2 alamat IP dan membandingkan mereka jika mereka memiliki celah sama jika mereka berbeda, itu hanya. Dalam versi sebelumnya aku merindukan kesalahan sangat penting untuk beberapa alasan script diputuskan bahwa saya memiliki IP = “” (нищо) и пренаписало конфигурацията на bind-а ми с празно поле и при следващата смяна вече не може да пренапише правилно конфигурацията което води липса на връзка с nameservr-a. Малоумно нали 😉