Take the 2-minute tour ×
Webmasters Stack Exchange is a question and answer site for pro webmasters. It's 100% free, no registration required.

I'm looking for an Open Source website backup tool. I'm more interested in Open Source so I can make changes if need be and possibly contribute to the software.

  1. Automatic scheduled FTP backups from mutiple web servers.
  2. MySQL backups from databases (only partially important as I can just do mySQL dumps and get those with ftp)
  3. Differential and/or Incremental backups (improtant for bandwidth and disk space.)
  4. Windows 7 or Linux support.

I'm not really sure if this is a better question for Server Fault but I feel it can live here easy enough. Thank you for any suggestions.

Software I've found
- Cobian Backup

Note this for backing up data on web servers, usually shared hosting. Installing software on the remote server is impossible, so ftp and mysql access is about it.

share|improve this question
    
What server OS (Windows/Linux/Mac) are you running? If it is Linux, then is there a reason a cron job would not work? –  Mike Aug 1 '10 at 2:19
    
I want something a bit more complicated than a simple cron job.. and windows and mac all have simular functions. –  WalterJ89 Aug 1 '10 at 5:31
    
the computer I'm planning to put this on in Windows 7 and already has Subversion installed... –  WalterJ89 Aug 1 '10 at 5:39
    
Can you run any commands on the server, if it is shared? Even if there are apps that will download your entire site via FTP, file-by-file downloads are incredibly slow (lots of requests). It is much more efficient to compress the whole site into a zip file and download that. –  DisgruntledGoat Sep 10 '10 at 12:06
    
more often than not command line is available. so compressing before downloading sounds good –  WalterJ89 Sep 11 '10 at 17:29

5 Answers 5

Subversion

Pros:

  • It shares in work-groups easily
  • It helps with version tracking
  • It manages updates

Cons:

  • Rollbacks can be a pain, to sort out what was lost in the rollback
  • It can cause work directories to become quite cluttered.
  • It can be difficult for designers and programmers to share workspace, as they use it differently.

(---edit for alternate solution---)

A PHP routine that lets you download a zip archive of the whole site.

Pros:

  • Its a full single backup for milestones. (to keep stability tested versions)
  • Its web-based.
  • Code rollbacks are easy
  • Does not require an .svn hook to a directory

Cons:

  • Does not share nicely
  • Magic numbers and magic words in the code do not transition across domains easily
  • Requires much more storage space to archive
share|improve this answer
1  
I was kind of thinking about this as Subversion is already installed.. I'm just dont know how to get it to ftp and only download new files.. yet. –  WalterJ89 Aug 1 '10 at 5:48
    
Mercurial works just as well too. I highly recommend using a VCS/DVCS not just for backups but also easy rollbacks. –  Tim Post Aug 1 '10 at 16:43
    
As gabe mentioned, svn alone is not a backup. You need to also backup your repository. That said, I'm not sure how good of an idea it is to version control application data rather than code. I suppose for apps that don't have large amounts of data it might be OK. Though I personally would rather keep data and source code backups separately. –  Lèse majesté Sep 10 '10 at 15:30
    
TortoiseSVN tortoisesvn.tigris.org works good under windows... it adds a shell hook to sync your work directory with the .SVN. but yes make backups of your repository also, otherwise the option to perform rollbacks is non-existent. –  Talvi Watia Sep 17 '10 at 5:10

You should take a look at Amanda backups. You can do everything in your list except for the FTP part but you shouldn't have to worry about that since it comes with its own way of shipping the backups around. One of the best things about it is that it stores all the backups in a standard way and they can be extracted without Amanda if you would ever need to do that. There is also a commercial version that has even more features like backing up to Amazon S3.

share|improve this answer

Whichever backup solution you go with, realize that backups are worthless if you don't test them. This means, having a restore strategy, and actually simulating a complete recovery. You don't have to kill your production data to do this, but you need to make 100% sure that you can actually recover what you need to using your backups. Also version control is not a form of backups, you had best hope that you have a backup of your repository and that you test that you can restore the repository from that backup in case of catastrophic failure. With that said, Amanda is a very powerful tool, if that is what you are looking for. Otherwise, tar, dump, restore, and mysqldump are your friends.

share|improve this answer
    
excellent point. Now I just need to find a good PHP dependency/include checker. (biggest problem with rollbacks I've found.) –  Talvi Watia Sep 17 '10 at 5:04

I've used a thing called rsnapshot, which is a wrapper around rsync. So far have only used it on LAN but am about to try over the internet. Mainly linux support, but you may be able to do Windows with an rsyncd port.

share|improve this answer

Unless you are storing data in files, I would use version control to keep track of different revisions of the websites code. You could use subversion, but imo git is better.

However, it does make sense to maintain backups to the database. The best thing to do would be to run a sort of cron job which uses MySQL's features to make a backup. These backups can then be archived and compressed. On GNU/Linux the command is mysqldump, but I don't know about windows.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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