首页 > 服务器 > Dns服务器 > 正文

DNS、DHCP的备份恢复bat(批处理自动实现)

2019-10-13 16:44:03
字体:
来源:转载
供稿:网友
现在的服务器上运行了很多系统服务,虽然中间没有出过什么问题,但是还是怕,要是出了问题,就是好几天的时间没有了,累4人的事情啊。所以要把什么东西都backup一下
 

现在的服务器上运行了很多系统服务,虽然中间没有出过什么问题,但是还是怕,要是出了问题,就是好几天的时间没有了,累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备份的效果:

DNS、DHCP的备份恢复bat(批处理自动实现)

DHCP备份的效果

DNS、DHCP的备份恢复bat(批处理自动实现)

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

 


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表