Shell腳本實(shí)戰(zhàn)之DNS主從同步腳本實(shí)例
更新時(shí)間:2019年10月12日 09:25:16 作者:qq5d47f509174fe0
這篇文章主要介紹了Shell腳本實(shí)戰(zhàn)之DNS主從同步腳本實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
DNS主從同步腳本實(shí)例
PS:兩個(gè)服務(wù)器起好后最好兩個(gè)服務(wù)都重啟一下
主服務(wù)器配置
#!/bin/bash
#DNS主從同步——主服務(wù)器
rpm -q bind
if [ $? -ne 0 ];then
yum install bind -y
systemctl start named
fi
#判斷DNS服務(wù)是否安裝
read -p "請(qǐng)輸入主服務(wù)器地址:" zhu
read -p "請(qǐng)輸入從服務(wù)器地址:" cong
read -p "域名(請(qǐng)帶后綴):" 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
#備份全局、區(qū)域配置文件
grep "$yu" $quyu &> /dev/null
while [ $? -ne 0 ];do
sed -i "18azone \"$yu\" IN {\n type master\;\n file \"$yu.dns\"\;\n allow- transfer { $cong\; }\;\n}\;\n" $quyu
peizhi="/var/named/$yu.dns"
cp -p /var/named/named.localhost $peizhi
done
#判斷域名是否存在,如果不存在進(jìn)行添加
sed -i -e '2d' -e "1a@ IN SOA "$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
#修改區(qū)域文件
while [ 1 -ge 0 ];do
read -p "請(qǐng)輸入自定義指針(例:www IN A 8.8.8.8)" zhen
echo $zhen >> /var/named/$yu.dns
read -p "是否繼續(xù)添加(y/n)" a
if [ $a != "y" ];then
break
fi
done
#循環(huán)
systemctl stop firewalld.service
setenforce 0
systemctl restart named
jieguo=`systemctl status named | grep "active" &>/dev/null`
if [ $? -eq 0 ];then
echo "服務(wù)啟動(dòng)"
else
echo "啟動(dòng)失敗"
fi
#判斷服務(wù)是否能正常啟動(dòng)
sed -i -e '3d' -e "2anameserver $zhu" /etc/resolv.conf
#用于自檢
從服務(wù)器配置
#!/bin/bash
#DNS主從同步——從服務(wù)器
rpm -q bind
if [ $? -ne 0 ];then
yum install bind -y
fi
#判斷DNS服務(wù)是否安裝
read -p "請(qǐng)輸入主服務(wù)器地址:" zhu
read -p "請(qǐng)輸入從服務(wù)器地址:" cong
read -p "域名(請(qǐng)帶后綴):" 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
#備份全局、區(qū)域配置文件
grep "$yu" $quyu &> /dev/null
while [ $? -ne 0 ];do
sed -i "18azone \"$yu\" IN {\n type slave\;\n file \"slaves\/$yu.dns\"\;\n masters { $zhu\; }\;\n}\;\n" $quyu
done
#判斷域名是否存在,如果不存在進(jìn)行添加
systemctl restart named
systemctl stop firewalld.service
setenforce 0
jieguo=`systemctl status named | grep "active" &>/dev/null`
if [ $? -eq 0 ];then
echo "服務(wù)啟動(dòng)"
else
echo "啟動(dòng)失敗"
fi
#判斷服務(wù)是否能正常啟動(dòng)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Shell實(shí)現(xiàn)程序造死循環(huán)的幾種方法示例
在linux下編程的程序猿都知道shell腳本,就算你不怎么熟悉,也應(yīng)該聽過的吧!那在shell腳本中的死循環(huán)該怎么寫呢?下面這篇文章就來給大家介紹了關(guān)于Shell如何實(shí)現(xiàn)讓程序造死循環(huán)的幾種方法,需要的朋友可以參考下。2017-08-08
shell檢測(cè)某個(gè)文件/文件夾是否存在詳細(xì)實(shí)例
shell是一個(gè)用?C?語言編寫的程序,它是用戶使用Linux的橋梁,下面這篇文章主要給大家介紹了關(guān)于shell檢測(cè)某個(gè)文件/文件夾是否存在的相關(guān)資料,需要的朋友可以參考下2023-06-06
一天一個(gè)shell命令 文本操作系列-linux dd使用教程
dd 是 Linux/UNIX 下的一個(gè)非常有用的命令,作用是用指定大小的塊拷貝一個(gè)文件,并在拷貝的同時(shí)進(jìn)行指定的轉(zhuǎn)換2016-05-05
Shell腳本實(shí)現(xiàn)批量下載資源并保留原始路徑
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)批量下載資源并保留原始路徑,本文直接給出實(shí)現(xiàn)代碼和使用例子,需要的朋友可以參考下2015-02-02
shell 提取文件名和目錄名的方法實(shí)現(xiàn)
本文主要介紹了shell 提取文件名和目錄名的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02

