Indeed, I'm just a one-man, self-employed, work from home, web developer but my backup solution verges on the paranoid as I've been bitten in the past:
1) I have 2 local web/data servers - they have 4 hard disks in each of them. The main OS is on the smallest drive so that, if I need to reinstall or update the OS (Ubuntu Linux Server) from scratch I can do that on a replacement drive so that the original drive can be put back in if problems arise. The other 3 disks hold data only. The backup server can be converted into a main server quite quickly.
2) A daily backup of the OS configuration files is made automatically via a CRON script (this helps if I need to swap which one is the main server).
3) The backup server constantly replicates the main one's files using CRON scripts which run at (half) hourly intervals - the more important ones get the more frequent backups.
4) The database does an almost instant update and the "home" page on all the web browsers I use (which displays links to all the sites on the servers and their live equivalents) displays a large red message if the two databases are not currently in sync.
5) Once a day the entire database is backed up. Four times a day the database tables that contain my rather more important time recording information are backed up.
6) Every hour a script runs which backs up anything changed on all the code in the past 48 hours and zips it up into a file on a different disk within the same server - this means that if I mess up something then versions that existed earlier in the day are still available. These files are also replicated to the backup server.
7) After finishing work each day I run manually scripts which copy any changed files from the "web" working disk to another disk on the main server. A dated full (once a month) or incremental (all other times) zip file is made of the code files for the site. Some of these go back 10 years. Again, these will get copied across to the backup server as soon as it runs the associated backup script.
8) Every 2 or 3 days I upload the latest versions of these files to an externally located server as offsite backup.
Paranoid or what?!