From Zextras Suite Compatible Platform - Provisioning Only#

This procedure will use the Backup module only to export the provisioning data, while all other items must be exported manually and also imported manually using scripts. It is therefore a longer procedure that the suggested one and more error-prone. We do not go into details, but only provide an overview of the workflow.

Application Scenario

This procedure may be used in a scenario which features a huge amount on data and an incremental migration using a tool like imapsync is preferred

Please read carefully the whole section to make sure you understand the requirement and the overall procedure.

Requirements and Limitations#

This procedure has the same Requirements and Limitations as the other procedure.

Create Backup#

The backup creation is the same as the other procedure (see Section Export Backup).

Phase 1, Provisioning#

First, copy the backup from the Source to the Destination or make sure the Destination can access the backup.

On the Destination, activate the Backup module, stop the MTA to temporarily interrupt the e-mails flow, and execute a SmartScan.

zextras$ carbonio backup doSmartScan start

Now you can import the backup, making sure to list only the domain(s) and the provisioning data, by executing the following command.

Note

We assume that the backup is stored in directory /tmp/export on the Destination

zextras$ carbonio --progress backup doExternalRestore /tmp/export \
domains example.com provisioning_only true

Phase 2, Data#

To successfully complete this Phase, execute the following Steps.

Step 2-1, Emails#

The most functional and standard way to read from the Source and write into the Destination is to use the IMAP protocol. For this reason, we suggest imapsync as the tool to perform IMAP migration.

Hint

We suggest not to use the Global Administrator account to perform this task, but to create temporary Administrator accounts in the Source and in the Destination to be used for the purpose of import process only, so you can safely remove them once the synchronisation has been completed, to keep the Administrators’ action history clear. These will be denoted as SOURCE_ADMIN_ACCOUNT and CARBONIO_IMPORT_ACCOUNT in the command below.

We assume that you have already obtained credentials of an account that can access all the accounts on the Source, and you have already created a Global Administrator to be used for the import only.

In the following command, that must be executed on the Node hosting Carbonio Mails and Calendar, replace all values written in ALL_CAPS with corresponding values, suitable for your infrastructure.

See also

The command uses the official imapsync’s docker image; to download it or to learn on alternative approaches (e.g., if you want to install and use imasync) and documentation, please refer to imapsyncs’s official documentation.

zextras$ for account in $(carbonio prov -l gaa SOURCE_DOMAIN); do \
docker run --rm gilleslamiral/imapsync imapsync \
--host1 SOURCE_ENDPOINT_ADDRESS --ssl1 --user1 ACCOUNT --authuser1 SOURCE_ADMIN_ACCOUNT --password1 SOURCE_ADMIN_PASSWORD \
--host2 CARBONIO_PROXY_NODE_IP --ssl2 --user2 ACCOUNT --authuser2 CARBONIO_IMPORT_ACCOUNT --password2 CARBONIO_IMPORT_ACCOUNT_PASSWORD; \
done

Step 2-2, Calendars#

We assume that the Calendar files of all users has been exported and placed into Carbonio Mails & Calendar Node’s /tmp/backup/ directory, in ICS Format, e.g., /tmp/backup/user1@example.com.ics, /tmp/backup/user1@acme.corp.ics, and so on.

They can be imported into Carbonio using the following command:

zextras$ for account in $(carbonio prov -l gaa SOURCE_DOMAIN); do \
echo "prov sa $account postRestURL '/Calendar?fmt=ics' /tmp/backup/${account}.ics"; \
done | carbonio

Step 2-3, Contacts#

We assume that the Contacts files of all users has been exported and placed into Carbonio Mails & Calendar Node’s /tmp/backup/ directory, in CSV Format, e.g., /tmp/backup/user1@example.com.csv, /tmp/backup/user1@acme.corp.csv, and so on.

They can be imported into Carbonio using the following command:

zextras$ for account in $(carbonio prov -l gaa SOURCE_DOMAIN); do \
echo "prov sa $account postRestURL '/Contacts?fmt=csv&csvfmt=thunderbird-csv' /tmp/backup/${account}.csv"; \
done | carbonio

Phase 3, Shares#

Shares migration is not supported in this scenario.

Phase 4, Files#

Migration of Carbonio Files items is not supported in this scenario.