Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11601216
  • 博文数量: 8065
  • 博客积分: 10002
  • 博客等级: 中将
  • 技术积分: 96708
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-16 17:06
文章分类

全部博文(8065)

文章存档

2008年(8065)

分类: 服务器与存储

2008-12-29 14:44:17

   因为遇到过几次服务器硬盘损坏的经历,其中有一次还丢了不少数据,这几天一直在考虑实现两台服务器间的数据自动备份的问题,也尝试了不少软件,但不是软件需要注册,就是软件不好用,结合到前一段时间经常使用的批处理及计划任务,感到这个东西用起来还真是方便。于是便有了以下结合命令行格式的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连接网络,点下允许,这样之后就相当于把防火墙也设置好了。

添加计划任务:
Click here to open new window
CTRL+Mouse wheel to zoom in/out

设定计划任务时间:


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

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


  

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

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

备份成功:


备份成功:


可以看到网络应用40%(速度大约5M/s,够快吧 ):Click here to open new window
CTRL+Mouse wheel to zoom in/out
阅读(1473) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~