나는 독특한 바보이고 끔찍 marliv 반 구운 코드를 작성하십시오, 나는 밤새 저를 호스팅하는 컴퓨터에 액세스 할 수 없음으로 떠나. 문제는 사소한 바보하지만 시간의 생각을 밝혀졌다.

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

이것은 지금 잘못되지 않습니다 스크립트를 수정한다. 이제 스크립트를 만드는 것을 설명하는 문제의 부분을 어디에 나는 설명 할 것이다. 적어도 나는 동적 공용 IP를했습니다. 나는 시스템 설정을 변경하는 변경 한 경우 내 주소의 변화를 확인하기 위해 위의 스크립트를 넣어 내 도메인에 대한 정보를 전송, 변화. 전체 사소한 스크립트는하지만 무섭게 미친 누락되었다. 당신이 주소 변경을 확인하는 부분에서

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

이되기 전에

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

주문 자체가 수 있도록이 2 차 IP 주소를 받아 서로 다른 업데이트 경우 누락 동일한 경우를 대조. 이전 버전에서 나는 스크립트가 나는 IP =로 결정했다 몇 가지 이유로 매우 중요한 오류를 놓쳤다 “” (нищо) и пренаписало конфигурацията на bind-а ми с празно поле и при следващата смяна вече не може да пренапише правилно конфигурацията което води липса на връзка с nameservr-a. Малоумно нали 😉