Mass migration between virtualmin servers

Basically I was new to this virtualmin administration and its interface was really confusing to me. My task was to do a mass domains migration between two centos servers having virtualmin panel installed in it. Following are the steps I did for the server wide migration.

First reduced the TTLs to 5min prior to hours of migration to avoid downtimes while changing the A records.

virtualmin modify-dns –all-domains –ttl 300

Then I created a directory “/root/backups” to store all the domains backup that I generate in the source server.

virtualmin backup-domain –dest /root/backups/ –all-domains –all-features –newformat –all-virtualmin

Copy it over to new server with same directory path “/root/backups” for easiness in use.

rsync -avzrp /root/backups/ root@destip.x.x.x:/root/backups/

if destination server is using any non standard port for ssh, then make some alteration to above rsync command.

rsync -avzrp -e “ssh -p portno” /root/backups/ root@destip.x.x.x:/root/backups/

Restore your domains in destination server.

* virtualmin restore-domain –source /root/backups/virtualmin.tar.gz –all-virtualmin
* virtualmin restore-domain –source /root/backups/ –all-domains –all-features

Set the TTLs back to 4 hours now.

virtualmin modify-dns –all-domains –ttl 14400

You are done 🙂

Reference: http://www.virtualmin.com/documentation/system/migrate
Virtualmin install: http://www.virtualmin.com/download.html