DNS,DHCP的備份恢復(批處理自動實現)

轉自 http://www.smoile.com/article.asp?id=707


現在的服務器上運行了很多系統服務,雖然中間沒有出過什麼問題,但是還是怕,要是出了問題,就是好幾天的時間沒有了,累4人的事情啊。所以要把什麼東西都backup一下。ghost備份的是系統,但是服務的配置是隨時在變化的,總不能時不時的來個ghost吧,再說沒有顯示器,很麻煩的。
研究了一個下午,終於實現了DNS和DHCP的自動備份。 
DNS的備份 
1、停止DNS服務 
2、打開regedit,找到HKLM\system\currentcontrolset\services\dns 
3、將DNS這個分支導出。命名爲DNS-1 
4、找到HKLM\software\microsoft\windows NT\currentversion\DNS server 
5、將DNSserver分支導出,命名爲DNS-2 
6、打開\windows\system32\DNS ,把其中的所有*.dns文件複製出來,並和DNS-1.reg及DNS-2.reg保存在一起。 
把上述內容備份出來即可。 
DNS的恢復: 
1、當區域裏的DNS服務器發生故障,重新建立一臺win2003服務器,並與所要替代的DNS服務器起相同的名字,設置相同的DNS後綴和IP地址。 
2、在新系統中安裝並啓動DNS服務。 
3、把前面備份出來的*.dns文件複製到新系統的\windows\system32\dns文件夾中。 

4、停用DNS服務。 
5、把備份的dns-1.reg和dns-2.reg導入到註冊表中。 
6、重新啓動DNS服務。 

dhcp的快速備份 
命令行: 
netsh dhcp server dump >dhcp_bak.txt 
備份完成。 
如果原DHCP服務器損壞,需要新建一臺DHCP服務器,並把DHCP-bak.txt複製過來。 
在命令行運行: 
netsh exec dhcp_bak.txt 
這樣,相關的信息就恢復了,但租約信息用這種辦法無法恢復。  


這只是手動實現的方法,作爲服務器,這樣做是不夠的,天天去備份不但費事也很不保險(忘記了怎麼辦?),所以我們可以做個批處理,然後建立個任務,讓它自動的實現備份。
以下是備份的代碼:


=================================================
@echo Smoile's 網管之路 (c) 2005-2007 All Right Resevices
@echo 製作維護:smoile
@echo 技術支持:www.smoile.com
@echo  ( @ @ )
@echo ┏━oOOo-(_)-oOOo━━━━━━━━━┓
@echo ┃ 謝謝你的支持www.smoile.com     ┃
@echo ┃                                 ┃
@echo ┃  oooO                        ┃
@echo ┗━(  )-━Oooo ━━━━━━━━━┛
@echo    \ (  (  )
@echo    \_)  ) /
@echo       (_/

@echo  Backup DNS config start…………
@echo 請在D盤下建立backup\DNS和DNCP兩個文件夾
::拷貝system32\dns下的dns文件
copy c:\windows\system32\dns\*.dns d:\backup\DNS /y
::導出註冊表文件
regedit /e d:\backup\DNS\DNS-1.reg HKEY_LOCAL_MACHINE\system\currentcontrolset\services\dns
::全路徑文件名兩側加上引號
regedit /e d:\backup\DNS\DNS-2.reg "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DNS Server"
@echo DNS config backup complete!
@echo Backup DHCP config start…………
::備份dhcp文件
netsh dhcp server dump >d:\backup\dhcp\dhcp_bak.txt /y
echo DHCP config backup complete!
echo off
exit

=========================================================
把上面的代碼保存爲bat文件就可以了,雙擊運行就可以自動完成DNS和DHCP的備份了。

其中DNS備份的效果:




DHCP備份的效果




DHCP和DNS自動恢復代碼:

===============================================
@echo Smoile's 網管之路 (c) 2005-2007 All Right Resevices
@echo 製作維護:smoile
@echo 技術支持:www.smoile.com
@echo  ( @ @ )
@echo ┏━oOOo-(_)-oOOo━━━━━━━━━┓
@echo ┃ 謝謝你的支持www.smoile.com      ┃
@echo ┃                                 ┃
@echo ┃  oooO                        ┃
@echo ┗━(  )-━Oooo ━━━━━━━━━┛
@echo    \ (  (  )
@echo    \_)  ) /
@echo       (_/

@echo  Resume DNS config start…………
net stop dns
::把.dns文件拷貝到system32\dns下
copy d:\backup\DNS\*.dns c:\windows\system32\dns /y
::導入註冊表文件
reg import d:\backup\DNS\DNS-1.reg
reg import d:\backup\DNS\DNS-2.reg
net start dns
@echo DNS Resume complete!
@echo Resume DHCP config start…………
::恢復dhcp文件
net stop tcpsvcs
netsh exec d:\backup\dhcp\dhcp_bak.txt
net start tcpsvcs
echo DHCP config resume complete!
echo off
exit
===========================================

這裏涉及到註冊表的導出和導入問題
導出:
regedit /e filename path
當出現空格時要用引號把整個路徑引起來,不然在dos下是不識別空格的

導入:
開始的時候實了下regedit /s命令,好像沒有用,所以用了reg import命令,在windows 2003下通過測試!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章