I use Mercurial to keep all of my source code and resources in. Once a week I make a .zip with everything in it and copy it to an external hard drive, and to Amazon Cloud drive. I'm sure I could do something fancier and more automatic. However, it really isn't much of an effort. I like that I understand exactly how my "backup system" works, and I'm confident that I could restore things easily.