这个脚本用于快速配置dns,输入域名、ip即可,如果有什么特殊的配置,稍微修改一下就可以了

代码:

#!/bin/bash

#获取url
echo "url:"
read url #获取ip
echo "ip:"
read ip #向/etc/named.rfc1912.zones尾插入
#zone "$url" IN {
# type master;
# file "$url.zone";
# allow-update{ none; };
#}; cat>>/etc/named.rfc1912.zones<<EOF zone "$url" IN {
type master;
file "$url.zone";
allow-update{ none; };
};
EOF #复制生成文件
cp -a /var/named/named.localhost /var/named/${url}.zone #向/var/named/${url}.zone中插入
#$TTL 1D
#@ IN SOA $url admin.$url. (
# ; serial
# 1D ; refresh
# 1H ; retry
# 1W ; expire
# 3H ) ; minimum
# NS datav.aliyuncs.com.
# A $ip cat>/var/named/${url}.zone<<EOF
\$TTL 1D
@ IN SOA $url admin.$url. (
; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS $url.
A $ip
EOF #完成
echo "$url $ip complete"

注释(#开头的那一行)我觉得是写的挺清晰的,dns服务器提供解析某个域名到某个ip地址,所以这里的基本原理就是读取输入域名和ip,向named.rfc1912.zones和${url}.zone(由以前的配置文件复制产生)中插入配置语句。

效果就是:

然后重启named即可。

还有只修改了获取参数的方法,其他的不变的另一个脚本

#!/bin/bash

#获取url
url=$
#获取ip
ip=$ #向/etc/named.rfc1912.zoneswz尾插入
#zone "$url" IN {
# type master;
# file "$url.zone";
# allow-update{ none; };
#}; cat>>/etc/named.rfc1912.zones<<EOF zone "$url" IN {
type master;
file "$url.zone";
allow-update{ none; };
};
EOF #复制生成文件
cp -a /var/named/named.localhost /var/named/${url}.zone #向/var/named/${url}.zone中插入
#$TTL 1D
#@ IN SOA $url admin.$url. (
# ; serial
# 1D ; refresh
# 1H ; retry
# 1W ; expire
# 3H ) ; minimum
# NS datav.aliyuncs.com.
# A $ip cat>/var/named/${url}.zone<<EOF
\$TTL 1D
@ IN SOA $url admin.$url. (
; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS $url.
A $ip
EOF #完成
echo "$url $ip complete"

这个只是用法上不一样,效果如下:

至于named的安装,以及为什么插入那样的配置语句网上到处都是教程。

dns自动配置shell脚本的更多相关文章

  1. tomcat监控,自动重启shell脚本

    tomcat监控,自动重启shell脚本如下,取名 monitor_tomcat.sh: #!/bin/sh # func:自动监控tomcat脚本并且执行重启操作 # 获取tomcat进程ID(其中 ...

  2. centos7 开机自动执行shell脚本

    centos7 开机自动执行shell脚本 90十80 关注 2018.12.23 09:37 字数 309 阅读 485评论 0喜欢 0 自己新建一个脚本,如centnet-service.sh 经 ...

  3. 实用脚本----Linux下Jdk和Tomcat自动安装shell脚本总结

    系统环境为:ubuntu 14.04 一.JDK 自动安装脚本 jdk自动安装bash shell脚本,截止今天(2014/10/15)亲测可用: sudo su #切换到root权限 mkdir / ...

  4. MySQL自动备份shell脚本

    在数据库的日常维护工作中,除了保证业务的正常运行以外,就是要对数据库进行备份,以免造成数据库的丢失,从而给企业带来重大经济损失.通常备份可以按照备份时数据库状态分为热备和冷备,按照备份数据库文件的大小 ...

  5. Linux Shell 脚本学习第一天: 使用grep 命令,lsusb, ps -ef, 实现树莓派(Debian OS)时检测到依赖的USB设备启动后,启动终端自动执行shell脚本

    1.应用背景: 无人监测的设备,常需要设置应用程序开机启动,程序启动前需要保证调用的设备先启动,运行环境先启动. 2.test.sh部分源码 #!/bin/sh #查看桌面是否启动 while tru ...

  6. pgsql自动安装shell脚本整理

    前面不断在vm虚拟机上测试pgsql,发觉安装还是有些麻烦的. 所以就收集了一些 1,http://www.davidghedini.com/pg/entry/postgresql_9_5_scrip ...

  7. nginx奔溃自动重启Shell脚本

    # vi /usr/local/nginx/sbin/nginx_restart.sh 贴入一下代码: #!/bin/bash #www.xmsolink.com #Monitor nginx ser ...

  8. CentOS MySQL自动备份shell脚本

    先执行  vim/mysqlBack/back.sh 然后添加以下内容 ## 记录日志 # 以下配置信息请自己修改 mysql_user="root" #MySQL备份用户 mys ...

  9. iptables交互配置shell脚本

    #!/bin/bash while true do clear echo "———————-menu————————" echo -e "\033[49;32;1m(1) ...

随机推荐

  1. java日期在今天的基础上加一个月。并计算时间相差天数

    Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.add(Calendar.MONTH, 1); ...

  2. Java中session与application的异同

    客户端的session 其实是标记了你的请求来自哪个浏览器 问题1:永远都一样吗? 答:重启了浏览器,你的session id就改变了, 结果会导致,再无法取回原来在服务端保存的数据. 问题2:假设客 ...

  3. 我在生产项目里是如何使用Redis发布订阅的?(二)Java版代码实现(含源码)

    上篇文章讲了在实际项目里的哪些业务场景用到Redis发布订阅,这篇文章就讲一下,在Java中如何实现的. 图解代码结构 发布订阅的理论以及使用场景大家都已经有了大致了解了,但是怎么用代码实现发布订阅呢 ...

  4. Spring Boot日志使用

    前言: 这是我第一次仔细研究Spring Boot相关的知识,就拿日志下手了,欢迎大家指点 Spring Boot日志关系 这个是Spring Boot的启动器,我们点击spring-boot-sta ...

  5. NOIP 2017 惊魂记

    考完了NOIP三周后才开始补……然后又补了一周…… DAY -1: 晚上吃了一顿送行宴散伙饭,然后默默地看了一遍之前所有考试后写的题解,再读了几遍板子,然后和QTY一起和达哥又一次在外面谈了一个小时, ...

  6. springboot之mybatisplus,mp的简单理解

    这是一张简单的service的继承图.可以看到我们的执行类,即XxxServiceImpl的继承关系. 从上到下,ServiceImpl和BaseMapper是一个依赖关系,ServiceImpl和I ...

  7. MyBatis从入门到精通:第一章配置MyBatis

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC ...

  8. javascript之正则表达式(二)

    js正则贪婪模式与非贪婪模式 类似于贪吃蛇游戏,越吃越长.而贪婪模式就是尽可能多的匹配. 默认是贪婪模式      (尽可能多的匹配)                           例子: va ...

  9. 所谓guard进程不能启动

    1.网络开关的配置是true还是false? 2.服务里有个循环,所以不用打messagebox也是可以调试的. 3.虽然调式时条件变量已经变化,可以把断点拉到促成这个变化的逻辑路径上. 4.可以在调 ...

  10. Excel催化剂开源第39波-json字符串解释的超能类库

    对一般VBA开发群体来说,处理json.xml结构的数据源,在VB6的世界里,是一件非常不容易的事情,隐约记得当年自己从哪里找到了一个使用字典实现的json解释的函数,实在非常稀有. 在.Net的世界 ...