Zextras Powerstore: Mailbox Move

From ZeXtras Suite Wiki

Jump to: navigation, search
Language: English  • español • português
Warning.png Warning!

This wiki is outdated and not maintained anymore, please refer to the new Zextras Documentation Hub at https://docs.zextras.com

ZxPowerStore logo box.png
This documentation is outdated.
Please refer to https://docs.zextras.com

Moving mailboxes between mailstores

The doMailboxMove command allows to move a single mailbox from a server to another one or all accounts from a given domain on current server to a destination host.


   zxsuite powerstore doMailboxMove {destinationHost} [attr1 value1 [attr2 value2...]]


NAME                       TYPE             EXPECTED VALUES                                      DEFAULT
destinationHost(M)         String                                                                
accounts(O)                String[,..]      john@example.com,smith@example.com[,...]             
domains(O)                 String[,..]      example.com,test.com[,...]                           
input_file(O)              String                                                                
stages(O)                  String[,..]      blobs|backup|data|account data=blobs+backup[,...]    blobs,backup,account
compress(O)                Boolean          true|false                                           true
checkDigest(O)             Boolean          if false skip digest calculation and check           true
overwrite(O)               Boolean          true|false                                           false
threads(O)                 Integer                                                               1
hsm(O)                     Boolean          true|false                                           true
notifications(O)           Email Address                                                         
ignore_partial(O)          Boolean          true|false                                           false
drop_network_backup(O)     Boolean          true|false                                           false
read_error_threshold(O)    Integer                                                               

(M) == mandatory parameter, (O) == optional parameter

Usage example:

zxsuite powerstore doMailboxMove mail2.example.com accounts john@example.com stages data,account
Move mailbox for account john@example.com to mail2.example.com host


destinationHost: The host to which the mailbox will be moved

accounts: The mailboxes to be moved

domains: The domains to be moved (when a domain is entered, all mailboxes in that domain will be moved)

input_file: The absolute path to a file containing the list of mailboxes to move, one for each line

stages: Select which stages to execute

compress: Compress the moved data

checkDigest: Check BLOB digests during the moves

overwrite: Overwrite existing mailboxes

threads: Number of operational threads, raising the number of threads will make the operation faster and more I/O intensive

hsm: Apply HSM Policy for moved mailboxes

notifications: A list of additional email addresses to be notified of the operation, comma separated

ignore_partial: Ignore previous partial moves

drop_network_backup: Delete the mailbox's data from the Legacy Backup (Zimbra NE only)

read_error_threshold: Maximum amount of allowrd errors before the operation gets interrrupted

doMailboxMove Details

  • When moving a domain, each account from current server is enumerated and moved sequentially.
  • Mailbox is set into maintenance mode for a very short period of time when it’s moved, and will be placed into original state after all emails are moved (after the ldap stage).
  • Operation is stopped if 5% or more write errors are encountered on items being moved. Pay attention that the current mailbox may remains in maintenance mode.
  • Single-mailbox moves will not start if destination server has not enough space available or user just belongs to destination host.
  • All data is moved at low-level and will not be changed except some small things like mailbox id.
  • The operation is made up of 3 stages: blobs|backup|account.
    • blobs: all blobs are copied from source server to destination one.
    • backup: all backup entries are copied from source server to destination one.
    • account: all non-blob information are moved.
  • All of the stages are executed sequentially. If a single stage is specified, mailbox is parked in maintenance mode though the entire operation. On success mailbox will be placed into original state.
  • Initially all blob items will be stored into destination server primary volume.
  • On the reindex stage’s completion an HSM new operation is submitted to destination server, if not specified otherwise.
  • All volumes' compression options are taken in care. * The MailboxMove operation can be executed if and only if no others operations are running on the source server.
  • The HSM option applies current HSM policies. It’s runs after each mailbox is successfully moved, on any run new items will be moved.

Data persistence after a move

Mailbox information and data is preserved in the source server for 30 days after the move, in order to purge all data belonging to moved mailboxes use the `doPurgeMailboxes` command:

   zxsuite powerstore doPurgeMailboxes {Mailbox id or "all" to delete all mailboxes moved more than 30 days ago} [attr1 value1 [attr2 value2...]]


NAME                   TYPE       EXPECTED VALUES                                                            
mailbox(M)             String     Mailbox id or "all" to delete all mailboxes moved more than 30 days ago    
ignore_retention(O)    Boolean    Also remove mailboxes moved in last 30 days                                

(M) == mandatory parameter, (O) == optional parameter

Usage example:

zxsuite powerstore doPurgeMailboxes all
Delete mailboxes moved more than 30 days ago
zxsuite powerstore doPurgeMailboxes all ignore_retention true
Delete every moved mailbox
Personal tools