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

代码:

  1. #!/bin/bash
  2.  
  3. #获取url
  4. echo "url:"
  5. read url
  6.  
  7. #获取ip
  8. echo "ip:"
  9. read ip
  10.  
  11. #向/etc/named.rfc1912.zones尾插入
  12. #zone "$url" IN {
  13. # type master;
  14. # file "$url.zone";
  15. # allow-update{ none; };
  16. #};
  17.  
  18. cat>>/etc/named.rfc1912.zones<<EOF
  19.  
  20. zone "$url" IN {
  21. type master;
  22. file "$url.zone";
  23. allow-update{ none; };
  24. };
  25. EOF
  26.  
  27. #复制生成文件
  28. cp -a /var/named/named.localhost /var/named/${url}.zone
  29.  
  30. #向/var/named/${url}.zone中插入
  31. #$TTL 1D
  32. #@ IN SOA $url admin.$url. (
  33. # ; serial
  34. # 1D ; refresh
  35. # 1H ; retry
  36. # 1W ; expire
  37. # 3H ) ; minimum
  38. # NS datav.aliyuncs.com.
  39. # A $ip
  40.  
  41. cat>/var/named/${url}.zone<<EOF
  42. \$TTL 1D
  43. @ IN SOA $url admin.$url. (
  44. ; serial
  45. 1D ; refresh
  46. 1H ; retry
  47. 1W ; expire
  48. 3H ) ; minimum
  49. NS $url.
  50. A $ip
  51. EOF
  52.  
  53. #完成
  54. echo "$url $ip complete"

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

效果就是:

然后重启named即可。

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

  1. #!/bin/bash
  2.  
  3. #获取url
  4. url=$
  5. #获取ip
  6. ip=$
  7.  
  8. #向/etc/named.rfc1912.zoneswz尾插入
  9. #zone "$url" IN {
  10. # type master;
  11. # file "$url.zone";
  12. # allow-update{ none; };
  13. #};
  14.  
  15. cat>>/etc/named.rfc1912.zones<<EOF
  16.  
  17. zone "$url" IN {
  18. type master;
  19. file "$url.zone";
  20. allow-update{ none; };
  21. };
  22. EOF
  23.  
  24. #复制生成文件
  25. cp -a /var/named/named.localhost /var/named/${url}.zone
  26.  
  27. #向/var/named/${url}.zone中插入
  28. #$TTL 1D
  29. #@ IN SOA $url admin.$url. (
  30. # ; serial
  31. # 1D ; refresh
  32. # 1H ; retry
  33. # 1W ; expire
  34. # 3H ) ; minimum
  35. # NS datav.aliyuncs.com.
  36. # A $ip
  37.  
  38. cat>/var/named/${url}.zone<<EOF
  39. \$TTL 1D
  40. @ IN SOA $url admin.$url. (
  41. ; serial
  42. 1D ; refresh
  43. 1H ; retry
  44. 1W ; expire
  45. 3H ) ; minimum
  46. NS $url.
  47. A $ip
  48. EOF
  49.  
  50. #完成
  51. 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. Ajax探讨

    Ajax是一种技术方案,并不是什么新技术,Ajax请求使用XmlHttpRequest对象发送, XmlHttpRequest是一个浏览器接口,使得Javascript可以进行HTTP(S)通信. 最 ...

  2. 记一次linux服务器入侵应急响应

    近日接到客户求助,他们收到托管电信机房的信息,通知检测到他们的一台服务器有对外发送攻击流量的行为.希望我们能协助排查问题. 一.确认安全事件 情况紧急,首先要确认安全事件的真实性.经过和服务器运维人员 ...

  3. ServiceFabric极简文档-2 部署环境搭建-配置文件

    类型:ClusterConfig.Unsecure.MultiMachine 说明:至少3台机子 { "name": "SampleCluster", &quo ...

  4. SVG波浪动画

    今天来试试用svg+css3制作波浪动画 下图是我制作出的效果 还不错吧 在制作波浪前,首先我们要画波浪啊,至于画波浪,如果你想直接通过计算贝塞尔曲线绘制出波浪... 好吧,那我也不拦着你 我就直接用 ...

  5. C#8.0 中使用默认接口成员更新接口

    连载目录    [已更新最新开发文章,点击查看详细] 从 .NET Core 3.0 上的 C# 8.0 开始,可以在声明接口成员时定义实现. 最常见的方案是安全地将成员添加到已经由无数客户端发布并使 ...

  6. [leetcode] 263. Ugly Number (easy)

    只要存在一种因数分解后,其因子是2,3,5中的一种或多种,就算是ugly数字. 思路: 以2/3/5作为除数除后,最后结果等于1的就是ugly数字 Runtime: 4 ms, faster than ...

  7. web页面保存图片到本地

    web页生成分享海报功能踩坑经验 https://blog.csdn.net/candy_home/article/details/78424642 https://www.jianshu.com/p ...

  8. IOCP Input/Output Completion Port IO完成端口

    I/O completion ports provide an efficient threading model for processing multiple asynchronous I/O r ...

  9. C#编程.函数.参数

    详细内容请参见<C#入门经典(第4版)>p101页 1.参数匹配 在调用函数时,必须使参数与函数定义中指定的参数完全匹配,这意味着要匹配参数的类型.个数.和顺序. 注:函数签名由函数的名称 ...

  10. Python基础之变量,常量,注释,数据类型

    由于上学期学了C语言,对于这一块的内容肯定算熟悉,只是注释的方法有些不同,但得还是一步一步的来!没有基础的同学看了这篇随笔也会大有助益的! 什么是变量?所谓变量就是将一些运算的中间结果暂存到内存中,以 ...