Earlier in part 1, I’d written about one method to have offsite backups, involving a local plugin on your site that creates zip archives of your site and database, and then dumps them to an external storage service like say Dropbox or Google Drive. In that, I explained that the disadvantage is the server performance hit during the time that the backup is running. If you’re not careful to do this during off-peak hours, your website visitors will probably experience unacceptable slowdowns. In this article, I explain the other method – one that I ultimately ended up using.
Using “Pull” Backups via FTP/SFTP
The first method, I call “push” backups because your site creates the backup archives on its own and then pushes them out to a 3rd party storage service. It is your site that starts the process, adheres to the schedule, and does all the work. The 2nd method I call “pull” backups because it involves an external service connecting your site and siphoning out the files and databases one by one.
Pull backups are more efficient than push because they barely create any kind of load on your site. The external website uses either SSH or FTP to download the files one by one. The first time this happens on your site, it can take a long time – hours even. But FTP is a very low resource intensive process. On even middling shared hosting accounts, it creates a very light server load, so you don’t need to worry about using up your shared hosting’s resources via insane I/O iterations.
Examples of “Pull” Backup Services
The product with the most brand name recognition is probably CodeGuard. However, I find it rather expensive – it starts somewhere around $40 a month for anything above 1 GB storage. Personally, I favor something like DropMySite which charges a fraction of the cost without all the bells and whistles. JetPack from WordPress is yet another service at around the same price point.
Here’s a screenshot of my backup history on DropMySite for WP-Tweaks:
These backup services essentially help you automate the process of downloading and storing your host’s backups to a 3rd party site. Many of them try to add value added services like website monitoring etc.
Security is an Issue – Use SFTP!
Even though I love the idea of pull backups, I haven’t been able to rid myself of the tiny voice in my head that reminds me of the fact that I’ve given access to my site to someone else. And for god’s sake, only use SSH as your connection information so that no one else can spy on the connection between the service and the site while the transfer is happening.
For SSH, you can either create a new key in cPanel, or use the public key that your 3rd party service provides for you. This way, you can remove the key from cPanel to revoke access if you ever need to do so.
You’ll also need to allow remote connections to your database. Not all hosts allow it. On NameHero for example, you need to follow a special process to allow this to happen.
DropMySite Integrated with NameHero
The great thing about NameHero is that they have DropMySite integration built into the service. Which means that you don’t need to manually enter your connection details. DropMySite will automatically backup your stuff without any further instructions! This is pretty cool because it’s not always easy for newbies to figure out the best way to connect to an external database or site.
Even better is the fact that you can get an exclusive deal with DropMySite for 5 GB of space that they don’t offer on their own website. Here’s a screenshot of NameHero’s DropMySite prices:
Taken together, this is an incredible addition for those who want the added security of an offsite backup on a 3rd party service, away from the primary hosting provider.
I feel that the “pull” method of backup is more preferable in the end, compared to the “push” method. The only disadvantage is that it requires trust in a 3rd party to use their connection to your site in a responsible manner. But you could also say the same about any backup plugin you install on your website! So in the end, I think this is a better option.
I’m a NameHero team member, and an expert on WordPress and web hosting. I’ve been in this industry since 2008. I’ve also developed apps on Android and have written extensive tutorials on managing Linux servers. You can contact me on my website WP-Tweaks.com!