您的位置:首页 > 其它

利用批处理及计划任务实现服务器间的数据自动备份

2008-03-07 09:28 726 查看
因为遇到过几次服务器硬盘损坏的经历,其中有一次还丢了不少数据,这几天一直在考虑实现两台服务器间的数据自动备份的问题,也尝试了不少软件,但不是软件需要注册,就是软件不好用,结合到前一段时间经常使用的批处理及计划任务,感到这个东西用起来还真是方便。于是便有了以下结合命令行格式的FTP命令及windows系统自带的计划任务来实现服务器间的数据的自动备份(实际上我所看的几款所谓的服务器间实现备份或同步的软件,也都是使用了FTP的方式。),此方法也可以用于实现网站间的数据同步。最重要的是,本方法不需要任何软件及写注册表,完全绿色,操作简单,而且文件体积仅仅需要几K!

以下介绍具体方法:
当然首先要有服务器的完全控制权限,另一台服务器的FTP空间的用户名和密码。
在此假设要备份数据的服务器为:服务器一 备份到另一台服务器:服务器二
首先在服务器一上建立backup.ftp文件(这里假设保存至C:\backup.ftp),文件内容如下:

open 61.156.*.* //Your Ftp Server 你要备份到的服务器的ip
user backup //Your Ftp username
*************//Your Ftp password
lcd d:\backup
bin
prompt
mput *.*
bye
quit
exit

再建立backup.bat的批处理文件,文件内容如下:

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

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

添加计划任务:

screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border=0>


设定计划任务时间:


screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border=0>


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

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


screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border=0>


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

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

备份成功:


screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border=0>


备份成功:


screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border=0>


可以看到网络应用40%(速度大约5M/s,够快吧

screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border=0>):

screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border=0>


文章转载于http://www.xpb.cn
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: