Страница 1 из 1

добавление DynDNS к NSD

Добавлено: 2019-02-21 14:30:26
lazhu
Вдохновившись идеей Майкла Клеменса сваял скрипт, парсящий лог апача на предмет dyndns запросов

Код: Выделить всё

http://blahblahblah.blah/blah.html?domain?subdomain?password
Получилось такое вот поделие:

Код: Выделить всё

#!/bin/sh

PASS="Qwerty12"
LOG=/var/log/httpd-access.log
TIMESTAMP=`date +%s`

tail -r ${LOG} | awk -F'?' -v pass=${PASS} '$0~pass && !a[$2,$3]++' | {
        while read LINE
        do
                NEW_IP=`echo ${LINE} | awk '{print $1}'`
                DOMAIN=`echo ${LINE} | awk -F '?' '{print $2}'`
                SUBDOMAIN=`echo ${LINE} | awk -F '?' '{print $3}'`
                ZONEFILE=/usr/local/etc/nsd/${DOMAIN}.zone
                CURRENT_IP=`drill a ${SUBDOMAIN}.${DOMAIN} @127.0.0.1 | grep ${SUBDOMAIN} | awk '{print $5}'`
                if [ "${CURRENT_IP}" != "${NEW_IP}" ] && [ "${CURRENT_IP}" != "" ]
                then
                        sed -i '' "4s/.*/      ${TIMESTAMP}/;s/^${SUBDOMAIN}.*/${SUBDOMAIN} IN A ${NEW_IP}/" ${ZONEFILE}
                fi
        done
}
nsd-control reload
Кому надо - пользуйтесь на здоровье! А еще лучше - придумайте, как сделать это все в одном awk.

добавление DynDNS к NSD

Добавлено: 2019-08-07 16:58:22
Alex Keda
а серийник обновить не надо?

добавление DynDNS к NSD

Добавлено: 2019-08-07 17:01:40
lazhu
Alex Keda писал(а):
2019-08-07 16:58:22
а серийник обновить не надо?

Код: Выделить всё

4s/.*/      ${TIMESTAMP}/
не?

добавление DynDNS к NSD

Добавлено: 2019-08-07 18:22:11
Alex Keda
а, проглядел =)