First thing you have to do is create the backup/restore file in cPanel on your old server. This is very simple.
You just need to log in to your cPanel, click on Backups and click on Generate/Download a Full Backup. You can choose a backup destination, for the purpose of this example, I’m just going to leave the default and save it to the Home Directory. You can save it to a remote FTP if you want, but that sometimes creates difficulties and I find it easiest to do everything as its own separate step. You fill out the email field with your email address as it’ll send you an email once it’s done (depending on the size of the site, it can take a long time). Then just hit Generate Backup.
Once you get the email letting you know it’s done, log in to that site in FTP and download the backup file (backup-12.30.2008_13-27-10_somesite.tar).
Now move to the new server where you will be hosting the site.
Note: don’t create an account for the site on the new server, the restore process will do that for you and if there’s an existing account with the same user name, it won’t work.
First you have to upload the cPanel move/restore .tar (backup-12.30.2008_13-27-10_somesite.tar) to the server, any existing site is fine.
Then you log in through SSH (this is how I do it, you may have another way) and move the file to the /home directory of the whole server.
After that, you log into WHM on that server. Under Backup is Restore a Full Backup/cpmove file. Click on that. You should see the move/restore .tar listed in the box on the bottom. It usually has the user name in the name of the .tar (in this case, somesite). You put that user name in the Enter the username for the account you wish to restore: field and hit Restore.
It’ll process the file, create the account and get everything set up as it was on the old server.