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

Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
lazhu
сержант
Сообщения: 254
Зарегистрирован: 2013-08-10 14:28:38
Контактная информация:

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

Непрочитанное сообщение lazhu » 2019-02-21 14:30:26

Вдохновившись идеей Майкла Клеменса сваял скрипт, парсящий лог апача на предмет 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.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

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

Непрочитанное сообщение Alex Keda » 2019-08-07 16:58:22

а серийник обновить не надо?
Убей их всех! Бог потом рассортирует...

lazhu
сержант
Сообщения: 254
Зарегистрирован: 2013-08-10 14:28:38
Контактная информация:

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

Непрочитанное сообщение lazhu » 2019-08-07 17:01:40

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

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

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

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

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

Непрочитанное сообщение Alex Keda » 2019-08-07 18:22:11

а, проглядел =)
Убей их всех! Бог потом рассортирует...