MCSE技术论坛

首页 » 微软基础架构 » Microsoft SQL Server 2005/2008 » 利用批处理及计划任务实现服务器间的数据自动备份
洛洛 - 2007-3-14 10:22:00
因为遇到过几次服务器硬盘损坏的经历,其中有一次还丢了不少数据,这几天一直在考虑实现两台服务器间的数据自动备份的问题,也尝试了不少软件,但不是软件需要注册,就是软件不好用,结合到前一段时间经常使用的批处理及计划任务,感到这个东西用起来还真是方便。于是便有了以下结合命令行格式的FTP命令及windows系统自带的计划任务来实现服务器间的数据的自动备份(实际上我所看的几款所谓的服务器间实现备份或同步的软件,也都是使用了FTP的方式。),此方法也可以用于实现网站间的数据同步。最重要的是,本方法不需要任何软件及写注册表,完全绿色,操作简单,而且文件体积仅仅需要几K!
以下介绍具体方法:
当然首先要有服务器的完全控制权限,另一台服务器的FTP空间的用户名和密码。
在此假设要备份数据的服务器为:服务器一 备份到另一台服务器:服务器二
首先在服务器一上建立backup.ftp文件(这里假设保存至C:\backup.ftp),文件内容如下:
***** 该内容需会员回复才可浏览 *****
再建立backup.bat的批处理文件,文件内容如下:

ftp -n -s:"c:\backup.ftp"

      然后再打开计划任务,在计划任务当中添加该批处理文件,并设定执行时间,执行时间最好是在服务器空闲的时候,比如凌晨2点。设置好后,最好运行一次,一来可以检查是否能正确运行,二来如果你的服务器上装有防火墙,这样便会提示是否允许ftp连接网络,点下允许,这样之后就相当于把防火墙也设置好了。
添加计划任务:

 附件: 您所在的用户组无法下载或查看附件
  设定计划任务时间:

 附件: 您所在的用户组无法下载或查看附件
另外一点要注意的几点问题是:需要备份的文件在备份期间要保证文件未在使用,比如我想要备份的是SQL Server数据库文件,可以在SQL Server企业管理器数据维护计划中设定自动备份,备份到设定的自动备份目录,在该备份操作执行完成之后,再进行该服务器间的备份操作。例如设定SQL Server数据库自动备份的时间为凌晨1点,便可以在该操作完成后,比如在凌晨2点再利用该批处理执行服务器间的数据备份。

SQL Server中设置维护计划备份数据库:

 附件: 您所在的用户组无法下载或查看附件
    再次,此方法也不仅仅局限于服务器到服务器之间,比如如果你乐意,完全可以想成是服务器到你的PC机之间(把上面批处理当中的mput换成是mget,也就是从服务器下载文件),在CMOS中设置以下你的PC机,比如凌晨2点自动开机,如果是宽带,设置为自动连接宽带网络,设置批处理为计算机启动后几分钟内执行,根据所要下载的文件大小设定一下时间,比如半个小时,任务完成后自动关机。这样就可以在睡觉的时候便做好备份工作了,完全不要人的干预。

    以下是我在几台服务器间应用的截图,由于服务器到服务器之间的速度是非常快的,所以备份几百兆的文件也不会用太多的时间。

备份成功:

 附件: 您所在的用户组无法下载或查看附件
备份成功:

 附件: 您所在的用户组无法下载或查看附件

 附件: 您所在的用户组无法下载或查看附件
可以看到网络应用40%(速度大约5M/s,够快吧 ):
转载:http://www.xpb.cn/blog/440.html
洛洛 - 2007-3-14 10:29:00
PS:
计划任务也可以这样添加
***** 该内容需会员回复才可浏览 *****
时间      是否显示        星期几执行                                    执行的文件
kingorc03 - 2007-3-14 10:41:00
感谢你的技术支持!
bonejovi - 2007-3-14 11:35:00
谢谢技术分享:)
洛洛 - 2007-3-14 13:49:00
客气希望大家一起来分享技术啊
y_haoxp - 2007-3-19 10:42:00
谢谢,支持
liuzhiyun - 2007-3-27 21:30:00
这几天正在忙这个呢?
洛洛 - 2007-4-1 11:46:00
呵呵有什么问题大家一起讨论啊
jerryqiao - 2007-4-5 10:45:00
支持,谢谢
jerryqiao - 2007-4-5 11:16:00
backup.ftp文件怎么建立
洛洛 - 2007-4-13 17:18:00
open www.mcse.org.cn  //Your Ftp Server 你要备份到的服务器的ip
user backup      //Your Ftp username
*************//Your Ftp password
lcd d:\backup   
bin
prompt
mput *.*
bye
quit
exit
diqing - 2007-4-30 21:58:00
还没来得起去研究sql-server
diqing - 2007-5-12 19:12:00
这个比较好 我以后有时间去做以下
gpa5031 - 2007-5-25 15:26:00
学习当中!!
chibanglei - 2007-5-29 13:01:00
支持 非常不错
tangweidan - 2007-6-1 16:23:00
顶,这些东西,很需要
zhensiyin - 2007-6-5 12:10:00
谢谢,分享
herry1689 - 2007-6-6 13:35:00
非常感谢楼主的技术支持,小弟正在发愁着呢
qqevoli - 2007-6-20 22:49:00
果然厉害哦
kubble - 2007-6-21 12:10:00
顶一下!!!!
kubble - 2007-6-21 12:19:00
这个东西倒是不赖,顶一个
qqevoli - 2007-6-21 15:03:00
这个太好了
hansu_1981 - 2007-7-2 10:39:00
谢谢  支持
流质仪 - 2007-7-17 9:41:00
很好 很清楚  谢谢
maker0321 - 2007-7-23 11:53:00
看看是什么东东
legendchow - 2007-7-28 12:35:00
好办法:D
sealong - 2007-8-30 13:56:00
先前也使用过,这样的一种方式,不过,你的更好一些
wsmib222 - 2007-9-8 13:32:00
学习当中!!`Õ?ªGæˆÆwww.mcse.org.cn¶ËW G]¯Ä¢$
liushui1 - 2007-10-11 13:22:00
dingddddddddddddddddddd
guoningwang - 2007-10-11 16:14:00
Thanks,very.
123
查看完整版本: 利用批处理及计划任务实现服务器间的数据自动备份