لأنني رعشة فريدة من نوعها والكتابة غير ناضج فظيعة ورمز m″rliv, وكنت قادراً على ترك دون الوصول إلى استضافة الجهاز الخاص بي كل ليلة. المشكلة تبين أن المتخلفين تافهة ولكن أي أفكار من وقت.

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

هذا هو سيناريو منقحة التي لا تسمح الخطأ. بعد سأشرح قليلاً حيث كانت جزءا بروبليماتا الآن لشرح ما يجعل البرنامج النصي. على الأقل أنا دينامية الملكية الفكرية العامة. نشر البرنامج النصي أعلاه للتحقق من وجود تغيير في عنوان بريدي إذا قمت بتغيير لتغيير إعدادات الجهاز ويرسل المعلومات للمجال الخاص بي, أن يكون هناك تغيير. عموما البرنامج النصي تافهة ولكن تم تمريره المتخلفين رهيب. في الجزء حيث يتم سحبه لتغيير العنوان

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

قبل أن

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

فهل ما يلي السطر 2 يحصل على عنوان IP نفسه ويقارن لهم إذا كان لديهم نفس تمرير إذا كانت مختلفة، فإنه فقط. في الإصدار السابق قد غاب عن خطأ هام جداً لسبب البرنامج النصي تقرر أن الملكية الفكرية = “” (нищо) и пренаписало конфигурацията на bind-а ми с празно поле и при следващата смяна вече не може да пренапише правилно конфигурацията което води липса на връзка с nameservr-a. Малоумно нали 😉