Shell脚本实战之DNS主从同步脚本实例
DNS主从同步脚本实例
PS:两个服务器起好后最好两个服务都重启一下
主服务器配置
#!/bin/bash
#DNS主从同步——主服务器
rpm-qbind
if[$?-ne0];then
yuminstallbind-y
systemctlstartnamed
fi
#判断DNS服务是否安装
read-p"请输入主服务器地址:"zhu
read-p"请输入从服务器地址:"cong
read-p"域名(请带后缀):"yu
quanju="/etc/named.conf"
quyu="/etc/named.rfc1912.zones"
[!-e$quanju.bak]&&cp$quanju$quanju.bak
sed-i-e"13s/127.0.0.1/$zhu/"-e'21s/localhost/any/'$quanju
[!-e$quyu.bak]&&cp$quyu$quyu.bak
#备份全局、区域配置文件
grep"$yu"$quyu&>/dev/null
while[$?-ne0];do
sed-i"18azone\"$yu\"IN{\ntypemaster\;\nfile\"$yu.dns\"\;\nallow-transfer{$cong\;}\;\n}\;\n"$quyu
peizhi="/var/named/$yu.dns"
cp-p/var/named/named.localhost$peizhi
done
#判断域名是否存在,如果不存在进行添加
sed-i-e'2d'-e"1a@INSOA"$yu"\.admin\."$yu"\.("/var/named/$yu.dns
sed-i'8d'/var/named/$yu.dns
sed-i'$d'/var/named/$yu.dns
sed-i-e"7a\NS$yu."-e"/A/s/127.0.0.1/$zhu/"/var/named/$yu.dns
#修改区域文件
while[1-ge0];do
read-p"请输入自定义指针(例:wwwINA8.8.8.8)"zhen
echo$zhen>>/var/named/$yu.dns
read-p"是否继续添加(y/n)"a
if[$a!="y"];then
break
fi
done
#循环
systemctlstopfirewalld.service
setenforce0
systemctlrestartnamed
jieguo=`systemctlstatusnamed|grep"active"&>/dev/null`
if[$?-eq0];then
echo"服务启动"
else
echo"启动失败"
fi
#判断服务是否能正常启动
sed-i-e'3d'-e"2anameserver$zhu"/etc/resolv.conf
#用于自检
从服务器配置
#!/bin/bash
#DNS主从同步——从服务器
rpm-qbind
if[$?-ne0];then
yuminstallbind-y
fi
#判断DNS服务是否安装
read-p"请输入主服务器地址:"zhu
read-p"请输入从服务器地址:"cong
read-p"域名(请带后缀):"yu
quanju="/etc/named.conf"
quyu="/etc/named.rfc1912.zones"
[!-e$quanju.bak]&&cp$quanju$quanju.bak
sed-i-e"13s/127.0.0.1/$cong/"-e'21s/localhost/any/'$quanju
[!-e$quyu.bak]&&cp$quyu$quyu.bak
#备份全局、区域配置文件
grep"$yu"$quyu&>/dev/null
while[$?-ne0];do
sed-i"18azone\"$yu\"IN{\ntypeslave\;\nfile\"slaves\/$yu.dns\"\;\nmasters{$zhu\;}\;\n}\;\n"$quyu
done
#判断域名是否存在,如果不存在进行添加
systemctlrestartnamed
systemctlstopfirewalld.service
setenforce0
jieguo=`systemctlstatusnamed|grep"active"&>/dev/null`
if[$?-eq0];then
echo"服务启动"
else
echo"启动失败"
fi
#判断服务是否能正常启动
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。