In this how to i will describe how to transfer CPanel accounts from one server to another. To transfer account you should have root access on both servers. Because to transfer account you need every thing to backup for transfer including Cpanel User / Pass (Same), Website, Database, Emails, Users, Stats etc. The thing i like about CPanel is it will transfer accounts 100%, you will not miss any single think related to your accounts. This method implies on VPS’s and Dedicated Server where you can access WHM (Web Host Manager) or root shell.
Lets consider we have two servers A and B. Server A is the old server with two accounts and Server B is new server to which we will transfer accounts.
Server A = 192.168.0.1
Server B = 172.20.0.1
1 Transfer using WHM
Login to Server B WHM using following url
where 2086 is the port on which WHM is running.
In the middle page select Transfer and then on Transfer page select Copy multiple accounts/packages from another server.
It will open new page to put info of the Server through which you are going to transfer i.e Server A.
Remote server type is (WHM version will be auto detected on multi account copies): leave as it is
Remote server address (ip address or FQDN): put server hostname or IP
Remote SSH port: 22 is the default, if you have changed ssh port on old server use that one here.
Do not compress transfers (cPanel 10.8.3+ required on both ends): leave at it is
Turn off SSL (cPanel 11.23.6+ required on both ends): leave at it is
Allow override*: leave at it is
Login as : Choose USER if you have sudo or direct root login are not allowed. Else select ROOT (recommended)
Select authentication method: Choose Password here, if you are using Public Key then you have to upload Key using Security -> Manage SSH Keys to use here.
Root Password: put root password here
After putting all information above click on Fetch Account List. In few second you will see list of accounts from Server A to transfer. Select the account using check boxes to copy, if need to copy all select Select All to check all accounts. When done with select click on Copy. (Beware once you click on Copy dont close browser or click on Back button).
You will see account transfer log on your browser and when finished it will show nice summary about transfer.
2 Transfer using Shell (Command Line)
SSH your Server A using putty from windows and command line from linux.
Now first of all we will create full backup to transfer and all the backups created are placed under /home directory.
2.1 Create One Account Backup
If you wish to backup single account, then execute following command
you will find corresponding backup in /home directory named cpmove-cpaneluser*.tar.gz
2.2 Create all Accounts Backup
To create all accounts backup on your server, execute following command
cat /var/cpanel/users | while read a; do
again you will find all accounts backup under /home named cpmove-cpaneluser*.tar.gz
2.3 SCP Backups to New Server
After creating backup you have to transfer all accounts backup to your new server i.e Server B using SCP.
scp cpmove-* email@example.com:/home
Besure all backups should move to /home directory of new server.
If you have done all accounts backup then you should have to move /var/cpanel/users file for restore on new server i.e Server B in /home directory with name user.txt
scp /var/cpanel/users firstname.lastname@example.org:/home/user.txt
2.4 Restore Backup
To restore single account backup execute following command.
where cpaneluser is of old server and can be found on backup filename after cpmove. i.e
To restore all accounts
cat /home/user.txt | while read a; do
Now you can List Account in WHM to see all accounts are transferred successfully to your new server and you can login to cpanel accounts of user using same Cpanel user / pass as old server.
If you have any question please ask in comments.