Release of CubeBackup 3.1

Following the successful release of CubeBackup version 3.0, we received a great deal of helpful feedback from the CubeBackup community. We have carefully reviewed all of your ideas and suggestions and are proud to announce CubeBackup 3.1.

New features:

  • Team Drive backups can now be disabled.
    Some groups, like schools, may wish to only back up a few teacher or VIP accounts instead of the entire userbase, in order to save disk space. Team Drive backups are now optional.
  •  Automatic update checks return.
    CubeBackup will once again automatically check for new versions. With this feature, you will be notified whenever an update is available on our website.
  • Spam and Trash mail messages are now included in the backup
    CubeBackup 3.0 only backed up those mail messages (and appropriate labels) that were in the “All Mail” folders, omitting “Spam” and “Trash” messages. This has been fixed in the new version.
  •  Faster Gmail backups.
    The Gmail backup algorithm has been improved to be even more efficient.
  • Bug fixes.

We strongly recommend that all clients upgrade to CubeBackup version 3.1, whether they are currently using CubeBackup 2.x or CubeBackup 3.0, in order to benefit from the latest changes.

How to Upgrade CubeBackup from 2.x to 3.0

CubeBackup 3.0 is fully compatible with previous backup sets, so the upgrade process is safe and easy.

However, because of library changes made in the new version, upgrading through the menu in version 2.x will not work. A new install is necessary.

We suggest performing an on-site upgrade on the same computer running CubeBackup 2.x, so that settings and configuration data are automatically carried over to the new version.

To upgrade CubeBackup from 2.x to 3.0:

  1. Quit CubeBackup 2.x.
    Note: Simply closing the CubeBackup window does not quit the app; you need to select “Exit” from the CubeBackup icon in the Windows system tray.
  2. Uninstall CubeBackup 2.X
  3. Download CubeBackup 3.0 from
  4. Install the downloaded package.
  5. Start the new version of CubeBackup.
    • CubeBackup 3.0 will keep the settings used on the earlier version without asking you to configure it again.
    • CubeBackup 3.0 will employ an incremental backup on the data backed up by the old version.
  6. You can alter the parallel backup settings as well as network throttling using “Settings”-> “Options…”->”Throttling”.

If you have any problems with the upgrade, please feel free to contact us at

Release of CubeBackup Version 3.0

Today, we are pleased to announce the release of CubeBackup 3.0!

We know that many of our clients have been eagerly anticipating this new version for their G Suite backup. CubeBackup 3.0 incorporates many changes and improvements, including:

1. Team Drive Support
Ever since Google launched Team Drive in 2017, it has been an integral part of Google Drive, bringing convenience and flexibility to collaborative projects. Team Drive backups are now well supported in CubeBackup 3.0.

2. Much Faster Backup Speeds
Our new parallel backup algorithm dramatically improves backup speeds. Instead of backing up one user account at a time, CubeBackup 3.0 can handle multiple users simultaneously, fully utilizing your internet connection and resulting in backups that are up to ten times faster.

3. Bandwidth Throttling
Of course, faster backups naturally consume more bandwidth. To ensure that CubeBackup 3.0 doesn’t interfere with your other work, we have included throttling controls to set limits and schedule how much of your internet connection may be used at different times of the day.


4. New Gmail Backup Algorithm
The Gmail backup algorithm has been redesigned for faster backups that take up less space.

5. Better User Management
User management is easier than ever, as new employees can now be automatically added to the backup list.

6. Improved Logging
Error logs now contain more information and more accurate messages.

7. New Google APIs adoption
The latest Google APIs are more stable and more efficient.

8. Bug Fixes

2018 CubeBackup RoadMap

2018 will be an exciting and busy year for CubeBackup.

We have been hard at work on version 3.0, which is only a few months away. Many new features and changes have been incorporated into this version, including parallel backups, Team Drive support, and the ability to run CubeBackup as a service. A more complete list of changes has already been posted here.

At the same time, development of version 4.0 is already well underway. Here are some of the new features to look forward to:
1. Time Machine Backup
All older versions of Google Drive files will be kept, as well as snapshots of the entire Google Drive structure.

2. Backup to Cloud Storage
CubeBackup has always allowed full G Suite backups to local storage, including local disk, NAS or SAN. Version 4.0 will add the ability store your G Suite business data backups on Amazon’s S3 cloud service.

3. Full Platform Coverage
Version 4.0 is being completely rewritten in Go on the service side, along with a new web UI for configuration and operations. This will make CubeBackup platform independent so it can easily be deployed on both Windows, and Linux.

Version 3.x is fully compatible with version 2.x, which means the upgrade should be smooth and incremental backups will still work. However, version 4.0 will not be compatible with earlier versions. A new complete backup will have to be taken.

Version 3.0 should be available in 2 or 3 months.
Expect version 4.0 later this year.

If you have any suggestions for our product, please feel free to contact us at Thank you!

How to solve the “Authorization failed” problem in the initial configuration

The initial setup of CubeBackup is a little complicated, and some of our users might run into the “Google Apps authorization failed!” error when clicking the “Test” button in the initial configuration of CubeBackup.


If you have carefully followed the instructions at, but still failed to pass the authorization test, please check the followings steps:
NOTE: The following items are listed in descending order of likelihood.

1. In a few cases, G Suite domain-wide authorization needs some time to propagate. So you can just wait for several minutes and then click the Test button again.

2. Are the Admin SDK, Drive API, Calendar API, Contact API and Gmail API enabled in Google API console?   A quick way to confirm: all of the above APIs should be listed in API Manager -> Dashboard -> Enabled APIs.

3. The Client Name in your Google App/GSuit  admin console  -> Security -> Advanced settings -> Manage API Client access should be the created Service Account’s client ID (e.g.:10847638222459), not an email address.


4.  Make sure that  “Enable API access” is checked in Google Apps admin console -> Security -> API reference -> API access. Generally, “Enable API access” is checked by default.

5. If your computer is running a fresh installation of Windows 7 or Windows Server 2008, and you have not installed all of the updates, the problem may be that you are missing hotfix KB2468871 for the .Net Framework 4.0. Download the hotfix here, and install it. You may be required to restart your computer before the update takes effect.

6. Please ensure that  port 443 and  port 993 are not blocked by your firewall/proxy.

7. Try CubeBackup on another computer to see if it works there.

Finally, if you’ve tried all of these and the problem persists, please contact us (

Initial Configuration Details for CubeBackup

Some customers have been concerned that the initial configuration of CubeBackup is too complicated, and they cannot understand why a simple authorization requires so many operations. In this post, I’d like to discuss OAuth 2.0 Service account and present a more detailed explanation of CubeBackup’s initial configuration.


Although it may seem complicated at first,  the initial authorization process (described here) only consists of two steps:

1.  Create a Service Account in Google Developers Console.

A Google OAuth 2.0 service account allows the administrator of the Google Apps domain to authorize an application to access user data on behalf of users in that domain. This authorization is also referred as “domain-wide authorization” or ” 2 Legged OAuth”. To create a service account, you need to login Google Developer Console with a personal account (e.g.: or  For the purposes of this step, you may consider yourself a developer of Google APIs.

2. Authorize Access to your Google Apps Domain for the Created Service Account.

Next, the Google Apps administrator should enable the service account created in the previous step to access the data in your Google Apps domain.

Q1. What is an OAuth 2.0 Service Account?

OAuth 2.0 enables a third-party application to obtain limited access to an HTTP service. Through OAuth 2.0, the application requests an access token from the specific HTTP service and then attach the token to the subsequent requests to that service. It is a modern, safe authorization standard which protects your credentials from being leaked to anyone else. OAuth 2.0 is the Google’s recommended login method for all third party applications.

A Google OAuth 2.0 service account is a variant of the standard OAuth 2.0, which enables data access to an entire Google Apps domain, not just a single Google account. This is also called 2-Legged OAuth 2.0. More detailed information is available at

Q2. Why are CubeBackup users required to create a service account themselves? Shouldn’t this be done automatically?

Service accounts could, of course, be created automatically, or even embedded within CubeBackup itself, but this would negate some very powerful advantages:

I)  By manually creating a service account, users can tailor the account to their own needs by enabling/disabling Google APIs, setting up the request quotas, etc.  They can also monitor API requests statistics in real time using Google Developer Console.

II)  A single service account shared by multiple users might overrun quota limitations. For example, the default Google Drive API quota is 1,000,000,000 requests per day, which should be sufficient for a single organization in most cases. But if this service account is shared by hundreds of organizations, the quota could easily be reached.

III)  Leaving the creation of service account to a third-party is always a potential security risk. The service account owner can monitor your requests, set request quota, and generally interfere with your business.

Q3. Why is CubeBackup’s configuration more complicated, when other web-based apps on Google Apps marketplace seem to easily integrate with Google Apps?

The situation with web-based apps is a little different. They need service account authorization to access Google Apps data, just like desktop apps, but most web-based apps/addons for Google Apps are installed through Google Apps marketplace, as explained by Google:  “When you use Google Apps Marketplace to install an application for your domain, the required permissions are automatically granted to the application. You do not need to manually authorize the service accounts that the application uses.”  

Unfortunately, this straightforward app integration is only available for web-based Google Apps tools, and not for desktop apps.  One of the strengths of CubeBackup is its ability to backup all Google Apps data to local storage, which is simply impossible with web-based approaches, due to the security limitation of web browsers.  The trade-off for this flexibility and power is that service account configuration and authorization must be done manually.

Hotfix for CubeBackup

The new version of CubeBackup, version 2.6.8, has just been released. This is a hotfix version to solve the problems caused by recent changes in Google Drive APIs. We strongly suggest all CubeBackup users upgrade to this version as soon as possible.  We are sorry for the inconvenience, but this upgrade is not optional.

What’s the problem in older versions?

A few days ago, Google made several modifications on its Drive APIs and caused some file-downloading operations in CubeBackup to fail. CubeBackup users might see lots of errors in the log files, such as “Failed on backup of Google Document entry: … Error message: One or more errors occurred. A task was canceled.”, or “Object reference not set to an instance of an object”, etc.  As a result, some Google Drive files were not successfully backed up locally. This problem happened randomly and just started a few days ago.

What’ new in CubeBackup 2.6.8?

This version is just an emergency hotfix for recent Google Drive backup problems. There are no new features added to this version. Due to the changes in Google Drive APIs, every CubeBackup users should upgrade to the new version as soon as possible.  We are sorry for all the trouble. However, as a client app completely based on Google APIs, CubeBackup must be adjusted to even minor changes in Google APIs.

Upgrade instructions:

  • To upgrade to the latest version, please select the “Check for updates” menu item in CubeBackup, then click the “Update” button. You need to exit CubeBackup and restart it for the new version to take effect.    NOTE: Simply closing the main window will not exit the application. To quit CubeBackup, please select “Exit CubeBackup” from the system tray in the right-bottom corner of the screen.
  • Or, you can quit and restart CubeBackup. CubeBackup will check for new versions every time it starts.

What if the upgrade failed?

There are possibilities the upgrade may fail and “Upgrade failed. You can try it again later.” message is given. To solve this problem, you can:

  • Download the CubeBackup hotfix file manually and unzip it into the installation directory for CubeBackup, like “C:\Program Files (x86)\CubeBackup“, to replace the old files.
  • Or, download the new version from  and reinstall it. All the application settings, configurations and user selections in old versions will be kept after the new installation, but you will be asked for the license key again to activate CubeBackup.

For some users, their Drive files backups were incomplete due to the errors in the last few days, how do I fix it?

To retry the backup for a specific user, you can open the local backup folder in Windows Explorer, then delete the folder for that user. For example, if the folder named “” is deleted, CubeBackup will backup‘s data completely from the beginning in the next backup cycle.

If you have any problems with this upgrade, please don’t hesitate to contact us.

CubeBackup 2.6 released

We are proud to announce the release of CubeBackup version 2.6.  If you are using an old version of CubeBackup, you may have already received a prompt to upgrade. You can easily upgrade to the new version at any time by using the “Check for update” feature.

New features in CubeBackup 2.6

  • Support for secondary domains and domain aliases.

As a Google Apps administrator, you may manage one primary domain along with one or more secondary domains.  CubeBackup 2.6 makes it convenient to manage all backup users in one place, whether they are in a primary domain or secondary domain. Domain aliases are also well supported in the new version.   For example,  in the user management window, domain administrators can manage all users in one list, including,  and

  • Support multiple primary domains.

If you are a Google Apps partner or reseller, you may manage several Google Apps domains for your clients. The new version of CubeBackup allows you to backup multiple domains in one application.

  • Option to back up “Shared with me” files in Google Drive.

Old versions of CubeBackup always back up shared files by default, with no way to disable the feature. For some Google Apps domains, it may cause considerable data duplication and backups could potentially grow to unmanageable sizes. The new version allows you to choose whether or not to backup these shared files.

  • Option to backup “All mail” messages

The domain administrator now can choose whether or not to backup the “All mail” folder/label in Gmail.  Generally, if messages in “All Mail” folder are duplicates which already exist under other folders/labels, including them again would be a waste of time and space.  However, if the “All mail” folder is used to archive mail messages, while the “Inbox” or other labels are reserved for active messages,  the “All mail” option should, of course, be used.

  • Database performance tuning

SQLite database is used in CubeBackup to record the backup metadata. Performance and transactional security are both improved in the new version.

  • Bug fixed

A number of bugs have been fixed in the new version.


How to fetch users in secondary domains after the update?

Because secondary domain users were not visible in previous versions of CubeBackup, you need to refresh the user list in order to fetch the users in secondary domains (or domain alias) after the upgrade.

Open the menu item “Settings” -> “User management” , and click the Refresh button. All users, in both primary or secondary domains, will now show up in the users list.  Click the Save button to save all the settings.

user managment


From time to time, we receive emails from our customers asking new features. Thank you for all of your suggestions and feedbacks!   The most commonly asked question is:

What to expect in the future versions?

  • Parallel backup

This will be the most important feature in the next version of CubeBackup.   Parallel backup for multiple users can greatly accelerate backup speeds and should be available soon.

  • Google site backup

Google site data backup will also be added in future versions.

  • Restore backup data to another account

Restoring data to another account can be very useful in some circumstance. Look for this feature in future versions

  • Linux version

CubeBackup for Linux will be a service without UI,  and we are confident that Linux administrators will love it! Most features in the Linux version will be almost identical to those in the Windows version.

How to speed up backups for large organizations

Schools or large companies with hundreds of users can easily accumulate terabytes of Google Apps data, including tens of millions of Gmail messages. This presents a serious problem for backup strategies – the initial backup may take months or even longer!

One reason for this is that CubeBackup performs user backups one by one in a non-parallel manner. We plan to include parallel backup algorithm in the next version of CubeBackup, but in the meantime, there are still methods that can be used to greatly speed up large backups by working with the user data in parallel.

Before presenting some of these solutions, I’d like to give an introduction to how backup data is saved locally.  Simply put, all backup data for each user, including the actual Google Apps data and metadata used to record the backup progress for each user, are stored in that user’s own directory. For example, data for user “”  would be stored in the directory “” like this:

Folder structure for one user

Folders like “calendar”, “contacts”, “docs”, and “mail” are used to store the actual backup data for Google Apps. There is also a hidden folder named “_config”, which is used to record important metadata, like timestamps for the last backup, the cloud ID of the local backup files, etc. CubeBackup itself only stores general settings for the whole app, all user data, whether actual backup data or metadata to describe a user’s current status, are stored in that user’s own directory.

This design makes the backup data very portable, as well as bringing an extra benefit: several CubeBackup instances can run simultaneously while sharing the same local storage. This means that, for large companies with hundreds of employees, the best way to speed up the backup process is to split the users into separate CubeBackup instances on different computers. Let me illuminate this method with a specific example:

An Example

Assume there is a large Google Apps domain “” with 1000 users, 200 of whom are located in the subdomain “”. There are also several organization units in the main domain (for example, 100 users in marketing 100 in dev, 50 in HR, etc.). The whole structure of the domain looks like this:

domain structure

For such a large domain, a complete initial backup may be so enormous that it would take months to back up all the data locally, which, of course, is unacceptable. In most cases, a professional local storage unit, such as a NAS or SAN, will be used to store the backup data. Usually, these devices have excellent write speeds and are capable of handling very high data throughputs. In this case, you can split the users into different CubeBackup instances running on separate computers, while setting the backup location for each instance to the same NAS/SAN device.  Since CubeBackup can be run on almost any computer, one powerful server and several low-speed desktop computers make a good combination for this strategy.

parallel backup

This parallel backup strategy can speed up the backup process tremendously. Since CubeBackup consumes very little memory and CPU resources, it can run in the background on almost any computer without interrupting the user. This makes it is very easy to add more computers to this kind of parallel backup system.

How many computers should be used to speed up the backup?

In most cases, the bottleneck of the parallel backup system lies in the speed of the NAS/SAN. Since most Gmail message backups are small files, the speed at which these small files can be written to local storage is the key factor in deciding how many computers can be added to the parallel system. Due to the wide spectrum in the performance of different storage devices, it is difficult to predict the optimal number of computers.  We suggest starting small, with 4 computers, and then adding more running instances to the parallel backup system to find the best combination.

Merge all users into the main server after a few backups

Because CubeBackup employs an incremental backup algorithm, subsequent backups after the initial full backup only store new or modified data, which is much less time-consuming.  Therefore, it shouldn’t be necessary to keep so many CubeBackup instances running after the first several backups; the main server should be sufficient to handle most of the load.
final structure

Another option for parallel backup:

In some cases, there is no NAS/SAN available within your company. Instead, each department is responsible for maintaining their own set of backup. In this situation, CubeBackup can be run directly on computers within the department, with backups split according to organizational units, like this:

OU backup

This method does not require high-performance local storage and can use existing PCs for the backup. However, since there is no central data storage, and local storage within each PC is not as stable or reliable as a NAS/SAN, maintenance of the backup data may become a problem.

We plan to add parallel backup and multi-domain support in the next version of CubeBackup.  If you have any suggestions for our product, please let us know!


CubeBackup 2.0 is released

Today we are shipping CubeBackup 2.0, a major release that has been in the works for 3 months. There are lots of bug fixes and feature improvements in the new version.

Can I continue to stay with CubeBackup 1.x?

No, you can’t!   Based on Google’s API deprecation statement  and, several APIs used in CubeBackup 1.x will stop working after April 20, 2015.  As a result, CubeBackup 1.x  will no longer be functional after that date. It is important to upgrade CubeBackup to the new version in order to secure your Google Apps data.  We are sorry for the inconvenience, but this upgrade is not optional.

What’s new in CubeBackup 2.0?

  • Two-Legged OAuth 2.0 (OAuth2.0 service account) for domain-wide authorization.

CubeBackup 1.x uses 2-Legged OAuth1.0 for authorization. When CubeBackup 1.0 was in development, OAuth2.0 was not yet mature enough for Google Apps domain-wide authorization and hardly any code libraries could be found.  However, this situation has changed, and now CubeBackup has been completely moved to OAuth2.0, which offers superior security and flexibility.

  • Migration to the latest Google Apps APIs.

The following APIs are used in CubeBackup 2.0:

    1. Admin SDK Directory API
    2. Google Drive API  v2
    3. Gmail REST API 
    4. Google Contacts API v3
    5. Google Calendar API v3
  • Select users by Organization Unit.

With the new Google Admin Directory API, CubeBackup allows you to select backup users by their organization unit. This feature can be very useful for large companies who might wish to apply different backup policies on different departments.

  • Excellent multi-language support.

CubeBackup has been completely redesigned to support all languages. It can easily handle multiple languages in a single Google Apps domain now.

  • Backup shared files in the Google Drive “Shared with me” folder.

Shared files were not backed up in the old version of CubeBackup.  In CubeBackup 2.0, the “Shared with me” files are fully supported.

  • Fully backup the whole Gmail folder structure.

In CubeBackup 1.x, only messages in “Inbox”, “Sent Mail”, “Starred” and “All Mail” were backed up.  In the new version, the whole mailbox structure, including customized folders/labels, are all included in the backup.

  • Improved performance.

Code optimization and the adoption of the latest Google API has improved backup performance in CubeBackup 2.0.

  • Bug fixed

Many bugs have been fixed in the new version.

Steps to migrate to the new version.

  1. Uninstall CubeBackup 1.x.
  2. Download the latest version of CubeBackup from
  3. Install CubeBackup 2.0.

    During the install process, you might be asked to install .Net Framework 4.0 if it’s not preinstalled.   For Windows XP, Windows Server 2003 or Windows Server 2008 users,  KB2468871 hotfix may also be required in some cases. Please visit the installation page to get more information.

  4. Start CubeBackup, and follow these instructions for authorization and configuration.

    The OAuth2.0 Service account (2-Legged OAuth2.0) authorization can be complicated, so please follow the above instructions carefully.

Because significant changes have been made in CubeBackup 2.0, the backup data is not fully compatible with that of CubeBackup 1.x. Google Drive/Docs and Google Contacts backups are unchanged, but Gmail and Calendar backups are now handled in a slightly different way.

When specifying the backup location, there are two options:

A. Delete all data backed up by CubeBackup 1.x and use CubeBackup 2.0 to backup your Google Apps data from the beginning. This gives you a clean start, but may take longer for the first backup. (Recommended)

B. Keep the backup data of CubeBackup 1.x, and specify the same folder as the backup location for CubeBackup 2.0. Google Drive and Contacts data will be backed up incrementally based on the old data, but CubeBackup 2.0 will create a new backup for Gmail and Calendar data. The new data should overwrite the old backup without any problems. This method saves backup time but makes the backup folder a bit more messy.

If you have any problems or suggestions for CubeBackup, please do not hesitate to contact us:   Thanks!