虚拟专用服务器的自动备份解决scheme

我的公司有一个虚拟主机与一个虚拟主机,服务几个网站。 我想build立一个自动化的备份,尽可能多的覆盖系统。

服务器信息:

  • VPS正在Microsoft虚拟服务器企业版中运行
  • Windows Server 2003networking版(32位)
  • Microsoft SQL Server 2005 Express

备份来源:

  • 个人网站的网站根文件夹
  • 每个站点的数据库(如果需要的话)
  • IIS设置
  • 其他杂项。 文件(不是操作系统或网站相关)

最好能够为每个网站build立一个备份场景,包括该站点的站点文件和数据库以及服务器级信息的一个备份场景。 但是,一个全球备份将是确定的。

备份的首选目标是FTP服务器。

我目前正在做大部分手动(IIS设置的例外)。

首先我build议你使用rsync来进行复制。 rsync乍一看看起来很可怕,但它很容易工作,而且非常有效。 看到:

http://www.ratsauce.co.uk/notablog/UsingRsync.asp

为快速指南。

你不会说你的分区结构。 它是一个单一的C:分区,一个小的C:D:分区的数据或其他东西?

用一个小C:加上一个更大的D:我将C:(参见www.drivesnapshot.de)快照到D上的一个文件,然后只是备份快照。 使用单个C:分区,您仍然可以将C:快照到C:上的文件中,但是快照会相当大,因为它包含C:上的所有内容。

SQL数据库可以转储到一个文件使用:

osql / S服务器名称/ E / Q“备份数据库fred到磁盘='D:\ fred.bak'与init”

那么可以备份.bak文件。

最后一个调整就是在使用文件时,可以使用vshadow.exe小程序创buildC:分区的卷影副本,并将卷影副本复制到rsync服务器来备份文件。 Google for vshadow.exefind很多优秀的文章,或者我会尽快写一篇文章。

任务计划程序到:

  • 将IIS元数据库导出到文件系统
  • NTBackup网站根文件夹和IIS元数据库文件
  • 运行sqlcmd将数据库备份到磁盘

把它全部写到你使用FTP服务器提供的文件夹中(使用非标准端口,如果可以的话,使用SFTP服务器)。 在你的最后,有一个工作login到FTP服务器,并检索文件。