Linux主机运维中我们经常需要批量修改一些配置信息,比如DNS地址。当原来配置的DNS出现故障时,为了快速回复互联网访问,我们需要更换正常的DNS地址,Linux主机数量多的情况下,我们就需要此脚本进行批量。通过此脚本可以帮助我们快速批量修改列表清单中的主机的DNS。
#!/bin/bash #script name: changedns.sh #author: 524627027@qq.com #version: v1 #description: 此脚本用于一键更新linux(centos6、centos7)服务器的dns服务器配置 #参数定义 workdir=$(cd $(dirname $0); pwd) logfile=$workdir/logs/info.log hosts=$workdir/hostslist.txt dnsconf=$workdir/resolv.conf olddns=`cat $dnsconf |grep nameserver | awk -F " " '{print $2}'` #检查主键列表函数 function checklist(){ if [ -s $hosts ]; then echo -e "主机列表存在,主机列表清单如下:\e[1;32m \n`cat $hosts` \e[0m" else cat >$hosts <<EOF 192.168.0.124 192.168.0.125 EOF fi } function changedns(){ read -p "请输入新的DNS地址:" newdns #验证输入IP地址是否为合法IP地址 ipcalc -cs $newdns if [ $? -eq 0 ] ;then sed -i s/$olddns/$newdns/g $dnsconf while read line do scp $dnsconf $line:/etc/resolv.conf done < "$hosts" else echo "请输入合法的DNS地址!!!" exit fi } "changedns.sh" 73L, 1331C 已写入 (base) [root@s186 changeDNS]# cat changedns.sh #!/bin/bash #script name: changedns.sh #author: 524627027@qq.com #version: v1 #description: 此脚本用于一键更新linux(centos6、centos7)服务器的dns服务器配置 #参数定义 workdir=$(cd $(dirname $0); pwd) logfile=$workdir/logs/info.log hosts=$workdir/hostslist.txt dnsconf=$workdir/resolv.conf olddns=`cat $dnsconf |grep nameserver | awk -F " " '{print $2}'` #检查主键列表函数 function checklist(){ if [ -s $hosts ]; then echo -e "主机列表存在,主机列表清单如下:\e[1;32m \n`cat $hosts` \e[0m" else cat >$hosts <<EOF 192.168.0.124 192.168.0.125 EOF fi } function changedns(){ read -p "请输入新的DNS地址:" newdns #验证输入IP地址是否为合法IP地址 ipcalc -cs $newdns if [ $? -eq 0 ] ;then sed -i s/$olddns/$newdns/g $dnsconf while read line do scp $dnsconf $line:/etc/resolv.conf done < "$hosts" echo -e "列表中的主机DNS地址已经由\e[1;32m $olddns \e[0m 修改为 \e[1;32m $newdns \e[0m !" else echo -e "\e[1;31m 请输入合法的DNS地址!!! \e[0m " exit fi } function main(){ checklist changedns } main
(base) [root@s186 changeDNS]# sh changedns.sh
主机列表存在,主机列表清单如下:
192.168.0.124
192.168.0.125
请输入新的DNS地址:192.168.1
请输入合法的DNS地址!!!
(base) [root@s186 changeDNS]# sh changedns.sh
主机列表存在,主机列表清单如下:
192.168.0.124
192.168.0.125
请输入新的DNS地址:211.142.211.124
resolv.conf 100% 80 47.0KB/s 00:00
resolv.conf 100% 80 37.5KB/s 00:00
列表中的主机DNS地址已经由 192.168.0.1 修改为 211.142.211.124 !
如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!
加入交流群
请使用微信扫一扫!