My company has a VPS with a webhost that serves a few websites. I would like to set up an automated backup that will cover as much of the system as possible.

Server Info:

  • VPS is running in Microsoft Virtual Server Enterprise Edition
  • Windows Server 2003 Web Edition (32 bit)
  • Microsoft SQL Server 2005 Express

Backup Sources:

  • Individual website web root folders
  • Databases for each site (if needed)
  • IIS settings
  • Other misc. files (not OS or website-related)

Preferably, I would be able to set up a backup scenario for each website that would include the site files and databases for that site and one backup scenario for the server-wide info. However, one global backup would be OK.

The preferred destination for the backups would be an FTP server.

I am currently doing most of this manually (exception of the IIS settings).

link|improve this question
What server software is running your VPS? I am asking because VMWare, which is what I am familiar with, has very nice backup/snapshot management console. – David Collantes May 12 '09 at 15:28
Added this info to the question - first bullet under Server Info. Thanks! – 81bronco May 12 '09 at 17:26
feedback

2 Answers

up vote 2 down vote accepted

Firstly I would suggest you use rsync to do the replication. rsync looks horrid at first glance, but it's easy to get working and it's very bandwidth efficient. See:

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

for a quick guide.

You don't say anything about your partition structure. Is it a single C: partition, a small C: with a D: partition for data or something else?

With a small C: plus a bigger D: I would snapshot C: (see www.drivesnapshot.de) to a file on D: then just backup the snapshot. With a single C: partition you can still snapshot C: to a file on C:, but the snapshot will be fairly large as it includes everything on C:.

SQL databases can be dumped to a file using:

osql /S servername /E /Q "backup database fred to disk='D:\fred.bak' with init"

then the .bak files can be backed up.

One last tweak is that in use files can be backed up by using the vshadow.exe applet to make a shadow copy of the C: partition, and replicate the shadow copy to the rsync server. Google for vshadow.exe to find lots of good articles on it, or I will get round to writing an article on it some time soon.

link|improve this answer
feedback

Task scheduler to:

  • Export IIS metabase to file system
  • NTBackup web root folders and IIS metabase file
  • Run sqlcmd to backup databases to disk

Write all of it to an folder you've served up using the FTP server (use a non-standard port and if you can, use an SFTP server). On your end, have a job login to the FTP server and retrieve the files.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.