Incremental Data Migration for Email in G-Suite

Introduction

Recently I was performing an IMAP migration from a self-hosted mail server to G-Suite and encountered a situation where I needed to perform an incremental update to the migration after it had already completed. The client held off on the migration for 3 additional weeks – once it was time to try the big switch again his email was 3 weeks out of date on Google’s servers. The migration was still active in G-Suite and when I stopped his user’s migration and started it over again I found that it would mark itself “complete” instantaneously, giving me the impression nothing was actually happening. Double-checking the “Migration Settings” screen showed that the migration was indeed supposed to check from a date past when I needed it to up until today. So what’s the problem?

The Problem

When you start a migration in G-Suite, it will remain active indefinitely until you manually stop the migration. The settings you started the migration with will continue to be used on any new or repeated users you try to start a new migration for. Even though the Migration Settings window shows a date of “today” as the latest date to check for new mails, “today” in this case refers to the day you started the migration.

The Solution

In order to perform an incremental migration in G-Suite, you must exit the current migration and start a new one so that you can specify a new date range for it to check against the current data from the previous migration.

To exit the current migration, go to:
Admin console > Data Migration > Email

Then click the triple-dot menu right below your username in the upper right corner to view the options for the current migration. Choose “Exit Migration”.

Now you can start a new migration the same way you did originally. When it asks you to specify a date range for the migration, you can expidite the differential process by using a start date of when you last performed a complete migration for these accounts. In my case choosing “Last month” as a range was sufficient.

Bonus Note: In the same triple-dot menu I noticed a setting for Migration Speed – by default this is a very low value of 100 queries at a time. I suggest maxing this out unless you are migrating from a server which is still in production for a large userbase. I maxed it out to 2000 for a noticeable speed improvement.