While everyone understands the importance of making backups of their sites, it is still a process that many of us skip or don’t execute properly. It is wrong to make the assumption that it is your web host’s responsibility to make backups for you—their backups are mostly for their internal use only. Making your own backups is the best way to safeguard your data from being wiped or corrupted from hardware failure, malware infections, accidental file overwrites, and upgrades or changes that could go wrong. Plus, imagine the peace of mind you’ll have knowing that your data is sitting somewhere safely, ready to be restored in the event that something goes astray with your website.
The key in backing up your data resides in a few best practices. First, determine where you want to backup your data. Duplicating your files on the same server in a separate folder is a bad idea. Backups should reside outside of your web hosts—ideally on another host or cloud service as well as offline (on external hard drives or DVDs). Next, decide which files you want to backup. If you have a database-driven website, it is essential to include your database; similarly, if you are using a CMS, you might want to include only your themes/plugins/uploads directory versus every single file. Finally, establish a backup frequency and retention policy. If your site is updated frequently, it makes sense to do daily or weekly backups and keep them for at least 6 months—there is no need to keep everything in history; it’ll become obsolete over time.
Never consider doing backups manually—it is tedious and you won’t be able to keep up with it. Instead, opt for automatic backup solutions. There are many solutions, and our featured article takes a look at some of the scripts and web services that will help you easily automate your site backups.
PHP Website Backup Scripts
Akeeba Solo is a standalone PHP application that allows you to backup and restore any PHP-based site. It also includes support for Joomla!, WordPress, phpBB, and PrestaShop, but you will need to install their respective components/plugins separately to allow it to interface with your CMS data. Akeeba has a one-click full site backup functionality, so both your files and database will be copied over to a destination of your choice, which can be another FTP account or the cloud (to services like Amazon S3 or DropBox).
phpMyBackupPro is a very easy to use, free, web-based files and MySQL backup application. You can create scheduled backups, manage and restore them, download or email them, and a lot more! It has many handy features, such as shell mode for use by a CRON script, different types of file compressions, and scheduled backups.
SmartBackup is a highly configurable PHP application that automatically archives your website’s files and database (only MySQL for now). In addition to keeping the archives locally, it can export those archives to an FTP/SFTP server or Dropbox account. You can also create multiple backup jobs that run at different times. You can specify a maximum number of backup archives to be kept (when a new one is made, an old one is deleted) for each of your backup jobs. There are also email notifications!
XCloner is a professional website backup and restore application designed to allow you to create safe, complete backups of any PHP/MySQL website and to be able to restore them anywhere. It works as a standalone PHP/MySQL backup application, but comes with Joomla! and WordPress support.
PHPBU is a PHP framework that creates and encrypts backups and moves your backups to other servers or cloud services and assists you in monitoring your backup creation.
Website Backup Services
Dropmysite is an online service that allows you to safeguard your website and database with automatic backups. After you supply your FTP settings, your site will be backed up on a daily basis and stored in the cloud. With a single click download feature, you can download all the files of any version of the backup and recreate your website within minutes. Pricing starts at $29.99 for 10GB of storage.
CodeGuard is like Apple’s Time Machine for your website. It has a really intuitive interface that makes backup and restore easier. After you configure it, it’ll run an initial backup to grab all your files and databases. Moving forward, as part of the daily backup, it will send you an email with a list of files that have been added to or dropped from the backup. To restore your files or databases, you can log into your account and choose a snapshot from the timeline to initiate a restore. CodeGuard starts at $5 per month for 5GB of storage per site.
Backup Machine is a web-based website backup service. There’s nothing to install, and it’s completely automatic. With Backup Machine, your website (FTP or SFTP) and MySQL databases are securely backed up every day without fail. Backup Machine works with CMSs such as WordPress, Drupal, and Joomla! as well. Pricing starts at $4.99 per month for up to 50GB of storage.