cPanel's Transfer Tool can move accounts between servers with the Live Transfer option. Live Transfer keeps websites and email working during the move by redirecting traffic from the old (source) server to the new (destination) server. If the move is cancelled, fails, or you need the account back on the old server, those redirects must be removed by hand. This guide shows how.
Quick answer
On the source server, as root, replace example with the cPanel username and example.com with each of its domains:
/scripts/unsuspendacct example
whmapi1 unset_all_service_proxy_backends username=example
/scripts/xfertool --unblockdynamiccontent example
whmapi1 unset_manual_mx_redirects domain=example.com
Then point the domains' DNS A records back to the source server's IP address.
What you need: root SSH access to the source server (the server the account was moved from).
What Live Transfer changes on the source server
To keep everything online during the move, Live Transfer makes four changes to the account on the source server: cPanel article
- Suspends the account, so nothing changes on the old copy.
- Proxies its services to the destination server: the web server (websites) and the mailbox service (IMAP and POP3 email access). Service proxying
- Blocks dynamic content through rules in the account's
.htaccessfiles, so the old copy of the site cannot change its data. - Redirects incoming email (MX) to the destination server.
It also updates DNS to point at the destination server. Reversing the move means undoing each of these.
1. Unsuspend the account
/scripts/unsuspendacct example
Or in WHM: Account Functions › Manage Account Suspension, select the account and click Unsuspend.
2. Remove the service proxies
whmapi1 unset_all_service_proxy_backends username=example
Use the cPanel username here, typed out in full. Some older guides show username=$USER, but when you are logged in as root, $USER means root, not the account you want.
Check that no proxy is left:
whmapi1 get_service_proxy_backends username=example
The output should not list any backend server.
3. Remove the .htaccess blocks
/scripts/xfertool --unblockdynamiccontent example
This removes the rules Live Transfer added to the account's .htaccess files, so the website works normally again on the source server.
4. Remove the email redirects
Run this once for every domain on the account (main domain, addon domains and parked domains):
whmapi1 unset_manual_mx_redirects domain=example.com
Incoming email for those domains is then delivered on the source server again.
5. Point DNS back to the source server
Change the A records of each domain back to the source server's IP address, in WHM › DNS Functions › DNS Zone Manager, or wherever the domains' DNS is hosted.
DNS changes take time to spread (usually minutes, sometimes a few hours). Until then, some visitors may still reach the destination server.
Reverting many accounts at once
If many accounts were moved with Live Transfer, cPanel provides these loops. cPanel article
Remove service proxies for every account on the server:
cut -d":" -f1 /etc/trueuserowners | while read user; do whmapi1 unset_all_service_proxy_backends username=$user; done
Remove every manual MX redirect on the server:
cut -f1 -d":" /etc/manualmx | while read domain; do echo "Unsetting ManualMX for $domain"; whmapi1 unset_manual_mx_redirects domain=$domain; done
Be careful with these: they apply to every account, including any that are still mid-transfer and should keep their redirects.
Check the result
- Open the website using the source server's IP, or after DNS has updated: it should load from the source server and work normally.
- Send a test email to the account and check it arrives in webmail on the source server.
- In WHM, confirm the account is no longer listed as suspended.