Backing Up Your Drupal Database
Being a WordPress devotee, the shocking thing about Drupal is that it doesn’t have a backup utility built into the core system. Any content management system that relies upon a back-end database should provide a way to back that database up regularly.
Shockingly, Drupal doesn’t. But it does have a dedicated community, and there are a number of options out there for backing up your database. The one which I’ve been using lately is the Backup/Migrate module.
This module makes it easy to do both on-demand and scheduled backups of your Drupal installation. With the on-demand backups, you can download them to your computer immediately. The scheduled backup saves the files to your webserver for downloading at a later date, and you can specify how regularly to back up and how many backup files to keep, so it’ll do the housekeeping for you as well.
Because Drupal uses relative hyperlinks by default, you can download an entire live website to a local server and use it to test themes, modules and Drupal upgrades without affecting the live environment.
This is more useful than you’d believe. I recently upgraded a Drupal site I manage, and the upgrade failed. I couldn’t get access to the site and thought it was ruined. However, I installed Drupal 5.1 on a local webserver and restored the database backup to that. I then upgraded that installation to Drupal 6.2 successfully. With a completely recovered and upgraded database, I was able to put this on the live webserver. We were up and running again relatively quickly.
I decided after that to test all my Drupal upgrades on a local server before doing the upgrade on a live website!
What’s missing (in my opinion) is a way to back up the uploaded files, themes and modules that each Drupal site contains. I want to look at some way to set up FTP synchronisation to back up site files on a scheduled basis.
If you’ve got any suggestions, please share!