DNS、DHCP的备份恢复bat(批处理自动实现)
现在的服务器上运行了很多系统服务,虽然中间没有出过什么问题,但是还是怕,要是出了问题,就是好几天的时间没有了,累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下通过测试!
原文:http://www.smoile.com/article.asp?id=707
您可能感兴趣的文章:
- 使用批处理命令设置windows系统的ip地址和dns附图
- 保护DNS服务器的几点方法小结
- DNS的工作原理图解说明
- 计算机名DNS网关IP(大家可以用来学习)
- CMD和vbs修改 IP地址及DNS的实现代码
- linux下如何快速让DNS修改生效
- linux中查询dns示例
- MySQL DNS的使用过程详细分析
- winmydns DNS服务器架设
- Shell脚本获取本地网卡IP、mac地址、子网掩码、dns IP、外网IP
- windows服务器 的DNS服务器备份与还原步骤小结
- freebsd网卡安装与dhcp配置方法
- 浅析PHP程序防止ddos,dns,集群服务器攻击的解决办法
- mysql xtrabackup 备份恢复实现分享
- mysql备份恢复mysqldump.exe几个常用用例
- Linux命令行修改IP、网关、DNS的方法
- 用VBS设置静态IP和DNS服务器地址的代码
- PowerShell脚本实现网卡DHCP自动获取IP地址、设置静态IP地址的方法
- Linux下用dnsmasq做dns cache server的配置方法
- Win7+xp命令行 一键修改IP、DNS