linux dns自动恢复,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备份的效果:

de74b489fb1f973e60fb42cc4a8c3b18.png

DHCP备份的效果

a50825d48fe4964642eeccdb6902f4e2.png

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值