I've written a script that basically loops through all of the WP sites on our server and updates everything: core, plugins, themes.

It does, however run into one issue: It will not update BackupBuddy. It will update 4 other premium plugins from various companies. I receive the following when trying to update it:

$wp plugin update backupbuddy
Warning: Download failed. Forbidden
Success: Translations updates are not needed for the 'English (US)' locale.
Error: Updated 0/1 plugins.
Enabling Maintenance mode...
Downloading update from https://s3.amazonaws.com/downloads.ithemes.com/products/plugins/backupbuddy/backupbuddy-6.3.3.3.zip?AWSAccessKeyId=******&Expires=******&Signature=******...
Disabling Maintenance mode...

I also receive an issue if I try to update the plugin through Jetpack Manage: An error occurred while updating BackupBuddy on WEBSITE NAME.

I have found that if I physically login to the WP Admin, and then run the command in WP-CLI, I can update without an issue. Also, the same happens when I first login to the site, and then try to update it through Jetpack Manage.

The leads me to believe that BackupBuddy requires one to be logged in to update the plugin, which is difficult when managing multiple sites.

iThemes support has told me:

You could use something like iThemes Sync or a similar service. Since BackupBuddy uses licensing it may not be compatible with 3rd party updaters like wp-cli.

I'll pay if I have to, but it's hard to justify purchasing software to just update one single plugin, especially when that plugin includes it's own wp-cli commands to make backups.

Is there a way to either spoof a login from WP-CLI or do something else that can update it from the command line, or is iThemes Sync my only option?

Versions:

  • WP-CLI: 0.20.1
  • WordPress: 4.3.1
  • BackupBuddy: Varies, but no older than 5.2.0.0. Newest version that's not updated is 6.2.2.4.

Edit:

Other things I've tried have been to pass the --user=MYEMAIL@DOMAIN.COM flag, but I get the same error. It's a global parameter for WP-CLI, but I'm not quite sure what it does I guess.

I know that I can use the --require flag to require a PHP file, but I have no clue if there's a file I can add to authenticate a user, and I worry about security if I created a file to auto-login. Then again, maybe there's a BackupBuddy file that can be required to authorize it.

Another option is the --url flag. I tried using --url=http://DOMAIN.COM/wp-admin but that didn't work either. I still got the Download failed. Forbidden notice.

The only time I've had success when updating is if a coworker has logged into the site with their username, so it feels likes there's almost an expires nonce or transient that is set when someone logs in, allowing the download to be performed.

  • If iThemes (the official supplier of BackupBuddy, correct?) says that the way to do it is to purchase iThemes Sync, then that's your answer. This site is not meant for "How can I get around Company X's business model?"-type questions. – Pat J Sep 23 '15 at 15:08
  • @PatJ I updated the question to include their response. They don't say iThemes Sync is the only way. My goal in asking is to reduce the amount of work needed to update sites, hence I'm not looking for a "similar service", but a way to be able to update everything with a script. This isn't meant to get around their business model, as they don't say it's the only way, especially considering that updating BackupBuddy with WP-CLI works when logged in to the Admin, but is meant to save time. It doesn't make sense that a site that has its own WP-CLI extension can't easily be updated with WP-CLI. – Seth Alling Sep 23 '15 at 15:49
  • Thanks for clarifying. I've been Googling WP-CLI, trying to see if there's a way to pass in a cookie, but so far haven't found anything. – Pat J Sep 23 '15 at 16:29
  • Yeah, I've been searching all over. Probably long enough that I could manually update the plugins myself. :P But once I have this figured out, I won't have to ever again. It's looking like I have two options. 1. Purchase iThemes Sync and periodically go through and update BackupBuddy from their site. 2. Change my script to check if BackupBuddy needs to be updated, and if so delete the current plugin and install it from another zip on the server (manually adding it, so it doesn't solve my making life easier problem), but that could get messy. I'm thinking iThemes Sync may be best. – Seth Alling Sep 23 '15 at 17:07
  • You are missing authentication. Please edit your question with what you have tried after you have tried and failed something into that direction. – kaiser Sep 25 '15 at 9:37

Your Answer

 
discard

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.