Cloud House Technologies Logo
CloudHouse Technologies
HomeServicesProjectsBlogAbout UsCareersContact UsLogin
    Cloud House Technologies Logo
    CloudHouse Technologies
    HomeServicesProjectsBlogAbout UsCareersContact UsLogin

    How to Migrate cPanel Accounts Between Servers Using WHM Transfer Tool: Complete Guide

    Priya

    Content Writer & Researcher

    Last Updated: 24 June 2026
    How to Migrate cPanel Accounts Between Servers Using WHM Transfer Tool: Complete Guide
    🖥️

    Need to Migrate cPanel Accounts to a New Server? We Handle It End-to-End

    cPanel-to-cPanel migrations are error-prone when rushed. CloudHouse Technologies manages your entire server migration — pre-migration audit, WHM Transfer Tool configuration, DNS cutover, and post-migration validation — with zero-downtime guarantees. Get a migration plan today.

    🔧 Book Free DiagnosisCall NowWhatsApp
    🖥️12,400+PCs Fixed
    ⭐4.9★Google Rating
    ⚡<15 minAvg. Response
    🛡️ISO 27001Certified

    Migrating cPanel accounts from one server to another is one of the most common — and most error-prone — tasks in web hosting administration. Done wrong, it means downtime, lost email, broken databases, and angry clients. Done right with WHM's Transfer Tool, it's a methodical, low-risk process that moves entire hosting accounts — files, databases, email, DNS zones, SSL certificates, and cron jobs — with minimal disruption.

    This guide walks through the complete cPanel-to-cPanel server migration process using WHM's Transfer Tool, from pre-migration preparation through post-migration validation and DNS cutover.

    When to Use WHM Transfer Tool vs. Other Migration Methods

    WHM's Transfer Tool (also called the "Transfer or Copy Accounts" feature) is the recommended method when:

    • Both source and destination servers run cPanel/WHM
    • You are migrating one or more accounts but not doing a full server-to-server clone
    • The source server is accessible over SSH
    • You want to preserve all account data: files, databases, emails, cron jobs, DNS zones

    For migrating an entire server image (all accounts simultaneously), consider cPanel's pkgacct with rsync, or a WHM batch transfer. If you are moving to a non-cPanel environment, WHM Transfer Tool will not apply — you'll need a manual migration approach.

    If you want expert handling of your cPanel-to-cPanel migration, managed server migration services cover the entire process including DNS cutover coordination and post-migration validation.

    Pre-Migration Checklist

    Before initiating any transfer, complete this checklist on both servers:

    On the source server:

    • Confirm WHM version: cat /usr/local/cpanel/version — note the major version
    • Check available disk space per account: df -h /home and WHM's "List Accounts" disk usage column
    • Identify accounts with custom PHP versions, .htaccess rules, or non-standard configurations that may need special handling
    • Enable root SSH access temporarily if not already enabled (needed for WHM Transfer Tool)
    • Note the source server IP — you'll need it during the transfer setup

    On the destination server:

    • Verify sufficient disk space: destination needs at least 1.5x the source account size (for transfer staging)
    • Confirm cPanel/WHM is installed and licensed
    • Check that the destination WHM version is equal to or newer than the source
    • Ensure the same PHP versions are available (install missing versions via WHM's EasyApache 4 before migrating)
    • Verify MySQL/MariaDB versions are compatible — migrating from MySQL 8 to MariaDB 10.6 requires verification

    Step 1: Configure SSH Access Between Servers

    WHM's Transfer Tool connects to the source server via SSH using root credentials or an SSH key. Set up key-based authentication for the most reliable connection:

    # On the destination server, generate or use existing SSH key
    ssh-keygen -t ed25519 -C "whm-transfer-key" -f /root/.ssh/whm_transfer_key
    
    # Copy the public key to the source server
    ssh-copy-id -i /root/.ssh/whm_transfer_key.pub root@source-server-ip
    
    # Test the connection
    ssh -i /root/.ssh/whm_transfer_key root@source-server-ip "hostname && uptime"

    If you prefer password authentication, ensure PermitRootLogin is set to yes in /etc/ssh/sshd_config on the source server — the WHM Transfer Tool will prompt for the root password during setup.

    Step 2: Launch WHM Transfer Tool

    1. Log in to WHM on the destination server at https://destination-ip:2087.

    2. Navigate to Transfers > Transfer or Copy an Account in the left sidebar.

    3. Enter source server details:

    • Remote Server: source server IP or hostname
    • Login: root
    • Authentication: SSH Key (recommended) or Password
    • Remote Port: 22 (or custom SSH port)

    4. Click "Get Account List" — WHM connects to the source server and fetches all cPanel accounts. This may take 30-60 seconds.

    5. Select accounts to transfer using the checkboxes. You can select all or individual accounts. For bulk migrations, consider transferring in batches of 10-20 accounts to monitor progress effectively.

    Step 3: Configure Transfer Options

    Before starting the transfer, configure these critical options:

    • Overwrite Existing Data: Set to "Merge" for accounts that already exist on the destination (e.g., re-transfers) or "Skip" if you want to preserve destination data. For fresh migrations, "Overwrite" is safest.
    • Transfer Bandwidth: Limits the transfer speed — useful if the source server is under production load. Leave unlimited for fastest transfer.
    • Compress Transfer: Enable compression to reduce bandwidth usage; adds CPU load but speeds up slow network links.
    • Unrestricted Restore: Enable if transferring reseller accounts to maintain sub-account structure.

    Step 4: Monitor Transfer Progress

    WHM displays live transfer logs as each account migrates. Watch for these status indicators:

    • Copying home directory... — Main file transfer in progress
    • Copying MySQL databases... — Database transfer in progress
    • Restoring DNS zone... — DNS zone recreation on destination
    • Account transfer complete — Success
    • Error lines — Note these for post-transfer remediation

    For large accounts, monitor disk usage on the destination in parallel:

    watch -n 5 "df -h /home && du -sh /home/username 2>/dev/null"

    WHM Transfer Tool also logs to /var/cpanel/transfer_log/ — useful for reviewing errors after the fact.

    Step 5: Verify Account Data After Transfer

    After each account completes, verify the transferred data before cutting over DNS:

    # Verify file counts match source (rough check)
    find /home/username/public_html -type f | wc -l
    
    # Confirm databases were transferred
    mysql -u root -p -e "SHOW DATABASES;" | grep username
    
    # Check email accounts exist
    cat /etc/valiases/domainname.com
    
    # Verify cron jobs
    crontab -u username -l
    
    # Confirm SSL certificates (transferred separately — check /var/cpanel/ssl/installed/)
    ls /var/cpanel/ssl/installed/certs/ | grep domainname

    Also visit the site using a modified hosts entry to confirm the application loads on the destination before DNS cutover:

    # On your local machine, add to /etc/hosts temporarily:
    destination-ip   domainname.com www.domainname.com
    
    # Test the site in a browser, then remove the entry after verification

    Step 6: DNS Cutover Strategy

    DNS cutover is the point of highest risk. Use this strategy to minimize downtime:

    24-48 hours before cutover:

    # Lower TTL on all DNS records for the domain
    # In WHM on source: edit DNS zone, set TTL to 300 (5 minutes)
    # This ensures DNS propagates quickly after the actual cut

    At cutover time:

    1. Run a final sync of any accounts with high write activity: re-run the WHM Transfer Tool for those accounts with "Overwrite" to catch recent changes
    2. Update the domain's A records at the registrar or DNS provider to point to the destination server IP
    3. Update nameservers if migrating to a server with different nameservers
    4. Monitor propagation: dig +short domainname.com @8.8.8.8 should show the new IP within minutes

    Post-cutover (keep source server available for 48-72 hours):

    • Any requests still hitting the source server will continue to work (the old site is still there)
    • Monitor error logs on the destination: tail -f /usr/local/apache/logs/error_log
    • Once DNS has fully propagated and no traffic hits the source, decommission or repurpose the old server

    Common WHM Transfer Errors and Fixes

    "Unable to connect to remote server"

    Check SSH connectivity: ssh root@source-ip. Verify the source server's firewall allows SSH from the destination IP. Confirm the SSH port matches what WHM Transfer Tool is configured to use.

    "MySQL restore failed"

    Check MySQL version compatibility. If migrating to a higher MySQL/MariaDB version, some databases may need schema updates. Review /var/cpanel/transfer_log/ for the specific SQL error. Often solvable by importing the database dump manually: mysql -u root -p dbname < /path/to/dump.sql.

    "Disk quota exceeded"

    The destination doesn't have enough space. Check with df -h /home. Either free space, add storage, or transfer accounts in smaller batches.

    "Account already exists — skipped"

    The account exists on the destination from a previous transfer. Choose "Overwrite Existing Data" in the transfer options to force a re-transfer.

    Conclusion

    WHM's Transfer Tool handles the complexity of cPanel-to-cPanel migrations reliably when used correctly — but the preparation and verification steps are what separate a smooth migration from a chaotic one. Lower DNS TTLs well in advance, run a final sync at cutover time, and keep the source server live for 48-72 hours after DNS changes. Most migrations complete without issues; the ones that cause downtime almost always skipped the pre-migration checklist.

    Get the Free Linux Server Admin Cheatsheet (PDF)

    Essential commands for server management, networking, and troubleshooting — all on one printable page.

    Running Linux servers? Let us manage them for you.

    Our Managed Linux Server plans cover updates, security hardening, monitoring, and 24/7 incident response — so your servers stay up and your team stays focused.

    • Proactive OS patching and security updates
    • 24×7 monitoring with instant alerting
    • Backup configuration and disaster recovery
    • Dedicated Linux engineers on call
    See Pricing Plans →

    What our customers say

    “Our production server went down at 2 AM. CloudHouse had it back online in under 20 minutes. Incredible response time.”

    Arun S.

    CTO, SaaS Startup

    “They migrated our entire infrastructure from Ubuntu 18 to 22 with zero downtime. Couldn't have asked for better.”

    Deepak N.

    DevOps Lead

    Frequently Asked Questions

    WHM Transfer Tool migrates home directory files, MySQL/MariaDB databases, email accounts and messages, DNS zone files, cron jobs, SSL certificates (when installed), subdomains, addon domains, parked domains, and account configuration settings. It does not migrate server-level configurations like Apache vhosts (these are regenerated), cPanel/WHM settings, or custom server software installed outside cPanel's management.

    Book your free 15-minute diagnosis

    A certified technician will call you back within 15 minutes during business hours.

    Share this article

    Leave a Comment

    Comments (0)

    Loading comments...

    Migrating cPanel Accounts to a New Server?

    WHM migrations look simple but have many hidden failure points — database version mismatches, missing PHP versions, DNS timing errors. CloudHouse Technologies handles your cPanel-to-cPanel migration from start to finish. Contact us for a no-downtime migration plan.

    Call Now — FreeWhatsApp Us

    Why CloudHouse?

    • ISO 27001:2022 certified
    • 12,400+ devices supported
    • 4.9★ on Google
    • Sub-15-minute response

    CloudHouse Technologies

    Innovative cloud solutions for modern businesses. We deliver cutting-edge technology with exceptional service.

    Contact Us

    CloudHouse Technologies Pvt.Ltd
    Special Economic Zone(SEZ),
    Infopark Thirissur,4B-15,
    Indeevaram,Nalukettu Road,
    Koratty, Kerala, India-680308
    0480-27327360
    info@cloudhousetechnologies.com

    Quick Links

    • Our Services
    • Gold Loan Software
    • About Us
    • Contact
    • Terms and Conditions
    • Privacy Policy
    ISO27001:2022
    Certified

    © 2026 CloudHouse Technologies Pvt.Ltd. All rights reserved.

    Back to top