BackupBuddy by iThemes is a wonderfully simple solution for WordPress backup and migration. That is, when it works. On a hunch I decided to check my website backups and discovered that while database backups were fine BackupBuddy was failing to create full website backups. Even worse, emails that were supposed to notify me of the errors were not being delivered.

Yeah, that’s not good.

Now before you jump the gun and completely write-off iThemes, the TL;DR of this post is that there was nothing wrong with BackupBuddy; Acunetix WP Security had added an unreadable file to prevent directory listing. After adjusting some settings I got everything to work again.

If BackupBuddy is failing to create full website backups, check if unreadable files have been added to the file hierarchy. Take particular note of security plugins (e.g. from Acunetix & Sucuri).

This is not a troubleshooting manual for iThemes BackupBuddy. iThemes has extensive documentation for BackupBuddy as well as a list of Frequent Support Issues. And if you’re a paying customer you’ll be able to access the Community Forums. In this post I will share what I learned while troubleshooting my own website backup issues.

Check your iThemes License

The first thing to do is to make sure you have a valid iThemes License and that it’s being authenticated. Head over to Settings > iThemes Licensing in your WordPress Administration Dashboard. If your products are not licensed, you will see something like this:

iThemes Products not licensed

Enter your iThemes Username and Password to authenticate your license.

iThemes Products licensed

This is especially important in light of iThemes’ recent security breach. The company required a mass reset of their customers’ passwords. After you’ve reset your password you will need to re-authenticate your products. Yes, that means doing this in every one of your websites that use iThemes’ products. You can read more about the security breach at iThemes’ blog:

Log Everything (Troubleshooting Mode)

By default, BackupBuddy will only log errors. You can change the Logging Level by going to BackupBuddy > Settings and clicking on the Advanced Settings / Troubleshooting tab. Change the value of Logging Level to Everything (troubleshooting mode) and BackupBuddy will now give more comprehensive information in its logs.

To view the logs, click the tab labeled Other. If you plan on manually running a backup (which is a pretty good idea) it may help to click Clear Log so that you start with a blank slate.

Unreadable and Non-Existent Files

The log was where I found the culprit. Here is the offending message:

Zip process reported: WARNING: (file unreadable or does not exist): zip warning: could not open for reading: wp-content/uploads/index.php

BackupBuddy zips all the backups it creates. Unfortunately the zip function had encountered a file it could not read which caused the entire operation to fail. The file in question was index.php located in the wp-content/uploads/ directory.

As of version 4.0, that file isn’t part of a default WordPress install. It had been added by Acunetix WP Security as a protection against listing the contents of the uploads directory. Making the file unreadable is a way of preventing the file itself from being deleted.

Excluding Files from the Backup

The solution I found was to simply tell BackupBuddy not to include the offending in website backups. This can be done in the General Settings tab of BackupBuddy’s Settings.

iThemes Exclude Files and Directories

Depending on your particular WordPress setup, you may have to exclude more files. Check your logs for other warnings & errors.

Email Troubleshooting

While not strictly a BackupBuddy issue, BackupBuddy does send emails to notify when backups are started, completed and if there are any errors. Lately I’ve found myself having to troubleshoot emails sent from websites that I manage. Messages were either delayed or not arriving at all.

I need to be clear that this is more an issue with the web host. Spam is a global issue and different web hosts use a variety of means to detect and prevent websites they host from sending out spam. If your email issues are very problematic, contact your web host.

That being said, I noticed that when the same email address appeared in both the To: and Reply-To: fields, the email never arrived. It doesn’t take a genius to see how this could be a sign of spam.

Fortunately BackupBuddy allows you to set the return address for all emails it sends. It can be found under Email Notifications of the General Settings Tab.

iThemes Email Notifications