免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 797 | 回复: 0
打印 上一主题 下一主题

AWK的DNS配置转换脚本 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-15 18:43 |只看该作者 |倒序浏览
近来我被分配至DNS小组,来管理公司的DNS server。今天有点小任务就是将BIND8下面的配置迁移到BIND9
原始BIND8配置文件为
jupiter 600     CNAME   newsnj  chinanet-jiangsu   原始  
转换成BIND9为
group      group-cname4-jupiter.china.com {
#关键字     组名称即原始的2级域名     
                enabled yes; #是否启用
                ttl 60;  #这个ttl 貌似从原始的600都改为60了?
                cname newsnj.china.com;
};

最后简单的考虑了下还是通过awk脚本来实现      

1.原始DNS文本格式处理  

cat 原始DNS内容 |sort -k 3 -k 5 -k 4|sed -e 's#\(cernet\)-[a-z]\{2,\}#\1#g'|uniq > DNS_final
2.转换格式为new dns conf内容   
awk -f awk.script DNS_final

其中  awk.script 为 :


#!/usr/bin/awk -f
     {
                     if($3=="CNAME")   #CNAME
                        {
                          if($5~/[[:alpha:]]/)  #have a region
                           {
                             printf ("\tgroup group-cname"NR"-"$1".sina.com.cn {");
                             printf("\n\t\tenabled yes;\n\t\tttl 60;\n\t\tcname "$4 ".sina.com.cn;\n\t};\n");
                             printf ("\n");
                             printf("group-cname"NR"-"$1".sina.com.cn  view-"$5  "   800;\n\n");
                            }
                          if($5~/^$/)         #default
                            {
                              printf ("\tgroup group-default-"$1".sina.com.cn {");
                              printf ("\n\t\tdefault yes;");
                              printf("\n\t\tenabled yes;\n\t\tttl 60;\n\t\tcname "$4 ".sina.com.cn;\n\t};\n");
                              printf "\n";
                              #printf("group-default-"$1".sina.com.cn  view-default   800;\n\n");
                            }
                        }
                      if($3=="A")     #A address
                         {
                              if($5~/[[:alpha:]]/)   #have a region
                              {
                                    if($5!=REGION&&NR!=1)
                                      { REGION=$5;
                                        #printf ("\t};\n\n")
                                        printf ("\tgroup group-"$5"-"$1".sina.com.cn {");
                                        printf("\n\t\tenabled yes;\n\t\tttl 60;\n\t\taddress "$4 ";\n");
                                        #printf ("\n");
                                        #printf("group-"$5"-"$1".sina.com.cn  view-"$5  "   800;\n\n");
                                       }
                                     else if($5==REGION)
                                     {
                                       #if($4!=IPADDRESS)
                                       printf("\t\taddress "$4 ";\n");
                                      }
                                }

                               if($5~/^$/)         #default
                               {
                              #printf ("\tgroup group-default-"$1".sina.com.cn {");
                              #printf ("\n\t\tdefault yes;");
                              #printf("\n\t\tenabled yes;\n\t\tttl 60;\n\t\tcname "$4 ".sina.com.cn;\n\t};\n");
                              #printf "\n";
                              #printf("group-default-"$1".sina.com.cn  view-default   800;\n\n");
                              printf ("\t};\n\tgroup group-default-"$1".sina.com.cn {");
                              printf ("\n\t\tdefault yes;");
                              printf("\n\t\tenabled yes;\n\t\tttl 60;\n\t\taddress "$4 ";\n\t};\n");
                              printf "\n";
                              #printf("group-default-"$1".sina.com.cn  view-default   800;\n\n");
                              }
                         }
                }

  PS: 很菜的东西 请SPIDER不要盗了,免费被高手耻笑   


                                                 BY IORI
                                                 15TH DEC 2008
                                                 IN SINA

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/15758/showart_1722116.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP