Επειδή είμαι μοναδικός μαλάκας και να γράφουν φρικτά κακοσχεδιασμένο και 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

Αυτή είναι μια αναθεωρημένη δέσμη ενεργειών που δεν θα επιτρέψει το σφάλμα. Μετά από λίγο θα εξηγήσω όπου ήταν μέρος problemata τώρα να εξηγήσει τι κάνει η δέσμη ενεργειών. Τουλάχιστον είμαι μια δυναμική δημόσια διεύθυνση ip. Δημοσιεύτηκε η παραπάνω δέσμη ενεργειών για να ελέγξετε για μια αλλαγή στη διεύθυνσή μου αν αλλάξετε για να αλλάξετε τις ρυθμίσεις του μηχανήματος και στέλνει τις πληροφορίες για τον τομέα μου, ότι υπάρχει μια αλλαγή. Γενικά ασήμαντο δέσμης ενεργειών, αλλά έγινε ένα τρομερά καθυστερημένος πέρασμα. Στο μέρος όπου γίνεται έλεγχος για την αλλαγή της διεύθυνσης

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

Πριν ήταν

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

Έτσι κάνει την ακόλουθη γραμμή ίδια διεύθυνση IP παίρνει 2 και τα συγκρίνει αν έχουν το ίδιο περάσει, αν όμως είναι διαφορετικές, το μόνο. Στην προηγούμενη έκδοση που είχα χάσει ένα πολύ σημαντικό λάθος για κάποιο λόγο η δέσμη ενεργειών, αποφασίστηκε ότι έχω IP = “” (нищо) и пренаписало конфигурацията на bind-а ми с празно поле и при следващата смяна вече не може да пренапише правилно конфигурацията което води липса на връзка с nameservr-a. Малоумно нали 😉