Backups are vital, but just having a backup isn't enough, what's needed is a backup strategy, which means thinking about what you are protecting against, setting up a system and testing that it actually works.
A Drupal website installation has two elements, database and code. The codebase should be running under some kind of version control which gives you great layer of protection when it's hosted in a private repository on GitHub or BitBucket. The repository contains all of the code that runs the site - and also a record of every change made to it. We use this system to push code changes made on our local development server to the staging and live versions of sites. This allows us to test thoroughly and get changes approved before going live. It also means that if you make a change to the code that doesn't function correctly, you can easily roll the site back to the previous version.
Database... Read More