現在的服務器上運行了很多系統服務,雖然中間沒有出過什么問題,但是還是怕,要是出了問題,就是好幾天的時間沒有了,累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 /yecho DHCP config backup complete!echo offexit
把上面的代碼保存為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.regreg import d:/backup/DNS/DNS-2.regnet start dns@echo DNS Resume complete!@echo Resume DHCP config start…………::恢復dhcp文件net stop tcpsvcsnetsh exec d:/backup/dhcp/dhcp_bak.txtnet start tcpsvcsecho DHCP config resume complete!echo offexit
這里涉及到注冊表的導出和導入問題
導出:
regedit /e filename path
當出現空格時要用引號把整個路徑引起來,不然在dos下是不識別空格的
導入:
開始的時候實了下regedit /s命令,好像沒有用,所以用了reg import命令,在windows 2003下通過測試!
原文:http://www.smoile.com/article.asp?id=707