The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Изменение SOA у файла зоны"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"Изменение SOA у файла зоны"  +/
Сообщение от universite email(ok) on 16-Май-11, 17:42 
Формат зоны

$ttl 14400
domain.ks.ua.        IN      SOA     ns.domain.ua. mail.ukr.net. (2011051208 10800 14400 604800 86400)
        IN      NS      ns.domain.ua.
        IN      NS      ns.secondary.net.ua.
;       IN      NS      ns3.domain.ua
        IN      A       XXX.209.ZZZ.54
        IN      AAAA    2001:YYY:YY:YYY:12f5:89a1:e201:001b
domain.ks.ua.      IN      MX   10 mail.domain.ks.ua.
localhost       A       127.0.0.1
*               A       XXX.209.ZZZ.54
*               AAAA    2001:YYY:YYY:YYY:12f5:89a1:e201:001b

нужно распарсить zone.conf
прочитать SOA если он сегодняшний, увеличить на 1, если старый, сгенерить сегодняшний, с нулем в конце
Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Изменение SOA у файла зоны"  +/
Сообщение от Aquarius (ok) on 17-Май-11, 02:08 
[оверквотинг удален]
> прочитать SOA если он сегодняшний, увеличить на 1, если старый, сгенерить сегодняшний,
> с нулем в конце

видимо, речь, все-таки, не про всю SOA, а только про серийный номер?
предлагаю сформулировать задачу в другой форме: сгенерировать "сегодняшний, с нулем в конце" (A), сравнить (арифметически) с "выпарсеным" (B), и, если A>B, использовать A, иначе, B+1

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Изменение SOA у файла зоны"  +/
Сообщение от universite email(ok) on 17-Май-11, 02:23 
> видимо, речь, все-таки, не про всю SOA, а только про серийный номер?
> предлагаю сформулировать задачу в другой форме: сгенерировать "сегодняшний, с нулем в конце"
> (A), сравнить (арифметически) с "выпарсеным" (B), и, если A>B, использовать A,
> иначе, B+1

Да, вы правы, сравнивать только серийный номер.
Но меня больше пугает парсинг зоны :(

P.S. host -t SOA domain.ks.ua считаем грязным читом.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

9. "Изменение SOA у файла зоны"  +/
Сообщение от Aquarius (ok) on 18-Май-11, 20:38 
>> видимо, речь, все-таки, не про всю SOA, а только про серийный номер?
>> предлагаю сформулировать задачу в другой форме: сгенерировать "сегодняшний, с нулем в конце"
>> (A), сравнить (арифметически) с "выпарсеным" (B), и, если A>B, использовать A,
>> иначе, B+1
> Да, вы правы, сравнивать только серийный номер.
> Но меня больше пугает парсинг зоны :(
> P.S. host -t SOA domain.ks.ua считаем грязным читом.

использование perl'а грязным читом не считается?

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

10. "Изменение SOA у файла зоны"  +/
Сообщение от universite email(ok) on 18-Май-11, 20:40 

> использование perl'а грязным читом не считается?

подтема топика указана: "Shell"
Пока perl не планируется использовать

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

3. "Изменение SOA у файла зоны"  +/
Сообщение от LSTemp (ok) on 17-Май-11, 04:49 
>[оверквотинг удален]
> localhost       A    
>   127.0.0.1
> *            
>    A       XXX.209.ZZZ.54
> *            
>    AAAA    2001:YYY:YYY:YYY:12f5:89a1:e201:001b
>
> нужно распарсить zone.conf
> прочитать SOA если он сегодняшний, увеличить на 1, если старый, сгенерить сегодняшний,
> с нулем в конце

Цену решения огласи (http://www.opennet.ru/openforum/vsluhforumID9/9126.html)


Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Изменение SOA у файла зоны"  +/
Сообщение от universite email(ok) on 17-Май-11, 11:42 
>[оверквотинг удален]
>>   127.0.0.1
>> *
>>    A       XXX.209.ZZZ.54
>> *
>>    AAAA    2001:YYY:YYY:YYY:12f5:89a1:e201:001b
>>
>> нужно распарсить zone.conf
>> прочитать SOA если он сегодняшний, увеличить на 1, если старый, сгенерить сегодняшний,
>> с нулем в конце
> Цену решения огласи (http://www.opennet.ru/openforum/vsluhforumID9/9126.html)

0$

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Изменение SOA у файла зоны"  +/
Сообщение от tsolodov on 18-Май-11, 15:11 
>[оверквотинг удален]
>>> *
>>>    A       XXX.209.ZZZ.54
>>> *
>>>    AAAA    2001:YYY:YYY:YYY:12f5:89a1:e201:001b
>>>
>>> нужно распарсить zone.conf
>>> прочитать SOA если он сегодняшний, увеличить на 1, если старый, сгенерить сегодняшний,
>>> с нулем в конце
>> Цену решения огласи (http://www.opennet.ru/openforum/vsluhforumID9/9126.html)
> 0$

создал на M4 файл
scripts/zonestemplates]$ cat ./in-addr.arpa.m4
$TTL    86400
@               IN      SOA     iap-5.srv.domain.ru nobody.ns.fttb. (
                        _DATE
                        7200
                        7200
                        864000
                        86400 )
                IN      NS      ns1.fttb.
                IN      NS      ns2.fttb.
                IN      NS      ns3.fttb.
                IN      NS      ns4.fttb.

$INCLUDE _FILE


Что получается:
zonestemplates]$ m4 -D_DATE=`date "+%Y%m%d%H"` -D_FILE="hui" ./in-addr.arpa.m4
$TTL    86400
@               IN      SOA     iap-5.srv.domain.ru. nobody.ns.fttb. (
                        2011051815
                        7200
                        7200
                        864000
                        86400 )
                IN      NS      ns1.fttb.
                IN      NS      ns2.fttb.
                IN      NS      ns3.fttb.
                IN      NS      ns4.fttb.

$INCLUDE hui


Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

7. "Изменение SOA у файла зоны"  +/
Сообщение от universite email(ok) on 18-Май-11, 20:20 

> создал на M4 файл
> scripts/zonestemplates]$ cat ./in-addr.arpa.m4

Проблем с генерации зоны нет, проблема в корректном парсинге номера зоны.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

11. "Изменение SOA у файла зоны"  +/
Сообщение от LSTemp (ok) on 19-Май-11, 00:28 
>[оверквотинг удален]
>>> *
>>>    A       XXX.209.ZZZ.54
>>> *
>>>    AAAA    2001:YYY:YYY:YYY:12f5:89a1:e201:001b
>>>
>>> нужно распарсить zone.conf
>>> прочитать SOA если он сегодняшний, увеличить на 1, если старый, сгенерить сегодняшний,
>>> с нулем в конце
>> Цену решения огласи (http://www.opennet.ru/openforum/vsluhforumID9/9126.html)
> 0$

про 0$ ответ в другом топике дал.

теперь сформируй входные данные: SOA всегда в оддной строке входного файла? или может иметь вид типа:

[root@local localdomain]# cat ./srv
$TTL    86400

@       IN      SOA     localhost.localdomain. root.localdomain. (
                        200811300       ; serial
                        8H              ; refresh
                        2H              ; retry
                        1W              ; expiry
                        1D)             ; minimum

...

вот вопрос. я же говорил, про вход и выход. Вы читали?


PS
вынесите serial в отдельный файл, мучаейе его там и include потом.  нах Вам вообще парсинг всей зоны для решения данной задачи?

PSS
вход->выход->анализ->решение (теперь Вы мне уже должны 0+0=два ноля)

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

12. "Изменение SOA у файла зоны"  +/
Сообщение от universite email(ok) on 19-Май-11, 04:03 

> теперь сформируй входные данные: SOA всегда в оддной строке входного файла? или
> может иметь вид типа:

Такой формат самый тяжелый в парсинге, поэтому пока не рассматриваем.
Многие панели специально генерят конфиг в одну строчку.

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

13. "Изменение SOA у файла зоны"  +/
Сообщение от LSTemp (ok) on 23-Май-11, 07:43 

>> теперь сформируй входные данные: SOA всегда в оддной строке входного файла? или
>> может иметь вид типа:
> Такой формат самый тяжелый в парсинге, поэтому пока не рассматриваем.
> Многие панели специально генерят конфиг в одну строчку.

для совсем "не заню каких, чтоб не обидеть" повторюсь: serial в отдельный файл и include его потом. а с файлом в из одной строки парсинга не надо.


Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

14. "Изменение SOA у файла зоны"  +/
Сообщение от LSTemp (ok) on 23-Май-11, 07:47 
>> теперь сформируй входные данные: SOA всегда в оддной строке входного файла? или
>> может иметь вид типа:
> Такой формат самый тяжелый в парсинге, поэтому пока не рассматриваем.
> Многие панели специально генерят конфиг в одну строчку.

"панели" ??? )))

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

6. "Изменение SOA у файла зоны"  +/
Сообщение от tsolodov on 18-Май-11, 15:12 
>[оверквотинг удален]
> localhost       A    
>   127.0.0.1
> *            
>    A       XXX.209.ZZZ.54
> *            
>    AAAA    2001:YYY:YYY:YYY:12f5:89a1:e201:001b
>
> нужно распарсить zone.conf
> прочитать SOA если он сегодняшний, увеличить на 1, если старый, сгенерить сегодняшний,
> с нулем в конце

кстати можно обойтись cat ./xxx | sed s/что/на что/

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Изменение SOA у файла зоны"  +/
Сообщение от universite email(ok) on 18-Май-11, 20:27 

> кстати можно обойтись cat ./xxx | sed s/что/на что/

можно, в прошлый раз при глобальных заменах мне пришлось юзать tee


Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

15. "Изменение SOA у файла зоны"  +/
Сообщение от LSTemp (ok) on 23-Май-11, 07:51 
>> кстати можно обойтись cat ./xxx | sed s/что/на что/
> можно, в прошлый раз при глобальных заменах мне пришлось юзать tee

дебилизм не лечится.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру