Shell指令碼實戰 DNS主從同步指令碼例項

2021-09-29 01:39:00 字數 2767 閱讀 2220

ps:兩個伺服器起好後最好兩個服務都重啟一下

#!/bin/bash

#dns主從同步——主伺服器

rpm -q bindif[

$? -ne 0 ]

;then

yum install bind -y

systemctl start named

fi#判斷dns服務是否安裝

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

[$? -ne 0 ];do

sed -i "18azone \"$yu\" in \;\n}\;\n"

$quyu

peizhi=

"/var/named/$yu.dns"

cp -p /var/named/named.localhost $peizhi

done

#判斷網域名稱是否存在,如果不存在進行新增

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

#修改區域檔案

while

[ 1 -ge 0 ];do

read -p "請輸入自定義指標(例:www in a 8.8.8.8)" zhen

echo

$zhen

>> /var/named/$yu.dns

read -p "是否繼續新增(y/n)" aif[

$a!=

"y"]

;then

break

fidone

#迴圈systemctl stop firewalld.service

setenforce 0

systemctl restart named

jieguo=

`systemctl status named |

grep

"active"

&>/dev/null`if[

$? -eq 0 ]

;then

echo

"服務啟動"

else

echo

"啟動失敗"

fi#判斷服務是否能正常啟動

sed -i -e '3d' -e "2anameserver $zhu" /etc/resolv.conf

#用於自檢

#!/bin/bash

#dns主從同步——從伺服器

rpm -q bindif[

$? -ne 0 ]

;then

yum install bind -y

fi#判斷dns服務是否安裝

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

[$? -ne 0 ];do

sed -i "18azone \"$yu\" in \;\n}\;\n"

$quyu

done

#判斷網域名稱是否存在,如果不存在進行新增

systemctl restart named

systemctl stop firewalld.service

setenforce 0

jieguo=

`systemctl status named |

grep

"active"

&>/dev/null`if[

$? -eq 0 ]

;then

echo

"服務啟動"

else

echo

"啟動失敗"

fi#判斷服務是否能正常啟動

shell指令碼 mysql主從

bin bash systemctl stop firewalld setenforce 0user tom password 123 sl e ipaddr 192.168.52.34 這裡寫自己從的ip位址 master ipaddr 192.168.52.33 這裡寫自己主的ip位址 yum ...

Shell指令碼實戰

shell指令碼程式設計的靈活運用需要有對指令碼基礎,不同的語句組合應用具有十分熟悉的理解。接下來就通過一些實際專案來更加深刻的體會shell在生活中的應用。需求分析 根據系統管理的需求,分析指令碼要實現的功能,功能實現的層次,實現的命令與語句等 命令測試 將要用到的命令逐個進行測試,以決定使用的選...

shell指令碼實現DNS正向解析

root bogon cat dns.sh bin bash 檢測是否掛載 df grep sr0 if eq 0 then 掛載則直接安裝dns軟體包 yum y install bind dev null 將標準輸出 標準錯誤輸出匯入到黑洞檔案中 else mount dev sr0 mnt d...