How to Migrate and Bulk Delete User Aliases in Zimbra
Posted: Tue Sep 23, 2025 5:02 am
Old server:
Create an empty file to store all aliases and set file ownership to zimbra
Export all aliases into a file.
Example:
aaa hashir.saud@domain.com 1234@domain.com
aaa ali@domain.com 4545@domain.com
Copy the aliases file to the new server
New Server:
Set file ownership to zimbra
Import all aliases into the new server
Delete bulk user aliases:
Example:
raa hashir.saud@domain.com 1234@domain.com
raa ali@domain.com 4545@domain.com
Create an empty file to store all aliases and set file ownership to zimbra
Code: Select all
# touch /tmp/all_accts_aliases.txt && chown zimbra:zimbra /tmp/all_accts_aliases.txt
# su - zimbra
Code: Select all
$ for accts in $(zmprov -l gaa | grep -Ev "^(spam|ham|virus|galsync)"); do zmprov ga $accts zimbraMailAlias | awk -v acct=$accts ' /zimbraMailAlias:/ {print "aaa", acct, $2}' >> /tmp/all_accts_aliases.txt; done
aaa hashir.saud@domain.com 1234@domain.com
aaa ali@domain.com 4545@domain.com
Copy the aliases file to the new server
Code: Select all
# scp /tmp/all_accts_aliases.txt root@<new_server_ip>:/tmp/
New Server:
Set file ownership to zimbra
Code: Select all
# chown zimbra:zimbra /tmp/all_accts_aliases.txt
# su - zimbra
Code: Select all
$ zmprov < /tmp/all_accts_aliases.txt
Delete bulk user aliases:
Code: Select all
# touch /tmp/del_all_accts_aliases.txt && chown zimbra:zimbra /tmp/del_all_accts_aliases.txt
# su - zimbra
$ for accts in $(zmprov -l gaa | grep -Ev "^(admin|spam|ham|galsync)"); do zmprov ga $accts zimbraMailAlias | awk -v acct=$accts ' /zimbraMailAlias:/ {print "raa", acct, $2}' >> /tmp/del_all_accts_aliases.txt; done
raa hashir.saud@domain.com 1234@domain.com
raa ali@domain.com 4545@domain.com
Code: Select all
$ zmprov < /tmp/del_all_accts_aliases.txt