Parce que je suis une secousse unique et écriture horriblement demi-cuite et code m″rliv, J’ai pu quitter sans accès à l’hébergement de ma machine toute la nuit. Le problème s’est avéré pour être retardé trivial, mais toutes les pensées d’un temps.

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

Il s’agit d’un script modifié qui ne permettra pas l’erreur. Après qu’un peu je vais vous expliquer où elle était partie problemata maintenant d’expliquer ce qui rend le script. Au moins j’ai une adresse ip publique dynamique. J’ai posté le script ci-dessus pour rechercher un changement dans mon adresse si vous changez pour modifier les paramètres de la machine et envoie les informations pour mon domaine, qu’il y a un changement. Généralement script trivial, mais il a effectué une passe terriblement retardée. Dans la partie où elle est vérifiée pour changement d’adresse

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

Avant c’était

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

Fait ce qui suit lui-même la ligne adresse IP obtient 2 et compare leur s’ils ont le même passage, s’ils sont différents, il seulement. Dans la version précédente, j’avais raté une erreur très importante pour une raison quelconque le script, il a été décidé que je n’ai IP = “” (нищо) и пренаписало конфигурацията на bind-а ми с празно поле и при следващата смяна вече не може да пренапише правилно конфигурацията което води липса на връзка с nameservr-a. Малоумно нали 😉