How to Manually Transfer an Account Between Servers in cPanel & WHM

This article explains how to manually transfer a cPanel account between servers when the account is too large for WHM’s automated transfer tools. It covers creating temporary directories, compressing public_html and log files, securely transferring data with SCP, and restoring the files on the destination server.

manual account transferSCP migrationcPanel server transfer

~3 min read • Updated Feb 24, 2026

1. Overview


When an account is too large for WHM’s automated transfer tools, you can manually transfer the account between servers. This process must be performed as the root user.


Note: This guide uses the following placeholders:
cPanel username: user
Domain: example.com




2. Create a Temporary Directory


Run the following command to create a temporary directory:

mkdir /home/user-temp

This creates the user-temp directory inside /home.




3. Create a Compressed Backup of public_html


Important: Depending on server configuration, addon and subdomain directories may not exist inside public_html. See the Domains section of Tweak Settings for details.


Most disk usage comes from public_html. Compressing it reduces transfer size.


Run:

tar cvzf /home/user-temp/user-backup.tar.gz /home/user/public_html

Argument breakdown:

  • c — Create a new archive
  • v — Verbose output
  • z — Compress with gzip
  • f — Write to specified file



4. Move public_html to the Temporary Directory


mv /home/user/public_html /home/user-temp/

Warning: Never delete public_html before the transfer is complete. Always keep a copy.




5. Create Compressed Backups of Logs


Large sites generate large logs. Compressing them saves time and space.


Apache logs are stored in:

/usr/local/apache/domlogs


Run:

tar -cvzf /home/user-temp/user-logs.tar.gz /usr/local/apache/domlogs/example.com
mv /usr/local/apache/domlogs/example.com /home/user-temp/



6. Transfer Files Manually with SCP


Use SCP to securely transfer files between servers.


General format:

scp /path/to/local/file user@remote-host:/path/to/destination/

Example:

scp /home/user-temp/user-logs.tar.gz [email protected]:/home/temp/
scp /home/user-temp/user-backup.tar.gz [email protected]:/home/temp/

Useful SCP arguments:

Argument Description Example
-P Specify SSH port scp -P 372 file [email protected]:/home/temp/
-i Use SSH key authentication scp -i key.pem file [email protected]:/home/temp/
-v Verbose mode for debugging scp -v file [email protected]:/home/temp/



7. Extract the Backups on the Destination Server


After transferring the files and completing the account transfer, extract the backups.


General extraction command:

tar -xvzf file.tar.gz -C /path/to/destination/

Restore public_html and logs:

tar -xvzf /home/temp/user-backup.tar.gz -C /home/user/
tar -xvzf /home/temp/user-logs.tar.gz -C /usr/local/apache/domlogs/

After extraction, the account has been successfully transferred.




Conclusion


Manual account transfers are useful when dealing with large accounts that exceed WHM’s automated transfer limits. By compressing data, transferring it securely with SCP, and restoring it properly, you can reliably migrate accounts between servers.


Written & researched by Dr. Shahin Siami