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

    How to Restore a cPanel/WHM Full Account Backup (Step-by-Step Guide 2026)

    Priya

    Content Writer & Researcher

    Last Updated: 24 June 2026
    How to Restore a cPanel/WHM Full Account Backup (Step-by-Step Guide 2026)
    🖥️

    Need Expert Help Restoring Your cPanel Account Backup?

    A failed restore can cost hours of downtime. CloudHouse's server experts handle cPanel full account recoveries, database restores, and emergency site recoveries — fast. Get help before data is permanently lost.

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

    If you've ever needed to recover a hacked website, move an account to a new server, or roll back after a botched update, knowing how to restore a cPanel/WHM full account backup is one of the most critical skills a server administrator can have. A restore that goes wrong — or silently fails — can mean hours of downtime and lost data.

    This guide walks you through every method to restore a full cPanel account backup using WHM, the command line, and partial-restore options, along with the verification steps most tutorials skip.

    What Is a Full cPanel Account Backup?

    A full cPanel account backup (also called a cpmove file) is a compressed archive that contains everything associated with a hosting account:

    • All website files in public_html and addon domain directories
    • MySQL/MariaDB databases and database users
    • Email accounts, mail filters, and autoresponders
    • DNS zones and subdomains
    • Cron jobs and SSL certificates
    • Account configuration and package settings

    Full backups are stored as cpmove-username.tar.gz or backup-MM.DD.YYYY_HH-MM-SS_username.tar.gz files. Only a server administrator with WHM or root SSH access can restore them.

    💡 None of these worked? Skip the guesswork.

    Get Expert Help →

    Method 1: Restore via WHM Interface (Recommended)

    The WHM graphical interface is the safest and most straightforward way to restore a full account backup.

    1Upload the backup file to the server

    Before restoring, upload your cpmove file to the server. The recommended destination is /home:

    scp backup-01.01.2026_00-00-00_username.tar.gz root@yourserver.com:/home/

    Alternatively, use WHM's File Manager or an SFTP client. Ensure you have enough free disk space — the restored account will require at least 2–3× the compressed backup size.

    2Log in to WHM

    Navigate to https://your-server-ip:2087 and log in with your root or reseller credentials.

    3Navigate to Restore

    In the WHM search bar, type Restore and click Restore a Full Backup/cpmove File. This option is under the Backup section in the left sidebar.

    4Select the backup file

    WHM automatically scans /home, /root, and /tmp for valid cpmove files. Select your file from the dropdown list. If it doesn't appear, verify the file is in one of those directories and that it's readable by root.

    5Configure restore options
    • Overwrite existing account — enable only if you're replacing an account with the same username; leave disabled for a clean restore to a new server
    • IP assignment — choose shared IP unless the account had a dedicated IP on the source server
    • Restricted Restore — recommended; performs extra security checks and skips any component with a security risk
    6Click Restore and monitor the log

    WHM displays a live log showing each restore step: account creation, file extraction, database import, email account recreation, DNS zone setup, and SSL application. A successful restore ends with: Restore Complete.

    1SSH into the server as root
    ssh root@your-server-ip
    2Place the backup file in /home
    mv /path/to/backup-username.tar.gz /home/
    3Run the restore script
    /scripts/restorepkg /home/backup-username.tar.gz

    For an account that already exists and needs to be overwritten:

    /scripts/restorepkg --force /home/backup-username.tar.gz

    The script outputs the full restore log to your terminal. Watch for any ERROR or WARNING lines — these indicate partial failures that need manual attention.

    4Run fix permissions after restore
    /scripts/upcp --force
    /scripts/fixperms username

    Method 3: Partial Restore (Specific Files or Databases)

    Sometimes you only need to recover a specific database or a folder of files — restoring the entire account would overwrite newer changes. Use these targeted methods instead.

    Restore Files Only

    Extract just the file content from the backup:

    tar -xzf backup-username.tar.gz homedir/public_html -C /tmp/
    cp -r /tmp/homedir/public_html/* /home/username/public_html/

    Restore a Specific Database

    Extract and import the database from the backup archive:

    # Extract the database dump
    tar -xzf backup-username.tar.gz mysql/databasename.sql -C /tmp/
    
    # Import to MySQL
    mysql -u root -p username_databasename < /tmp/mysql/databasename.sql

    Restore Email Accounts

    Email mailboxes are stored under mail/ in the backup archive:

    tar -xzf backup-username.tar.gz mail/ -C /tmp/
    cp -r /tmp/mail/ /home/username/

    Common Restore Errors and How to Fix Them

    Error: "Account already exists" on Overwrite Restore

    If you see this without the overwrite option enabled, WHM has detected an existing account with the same username. Either enable Overwrite existing account in WHM, or use --force with /scripts/restorepkg. If you want to keep the existing account, rename the username first: WHM → Modify an Account → Change Username.

    Error: "Disk quota exceeded"

    The account package on the destination server has a lower disk quota than the backup's content. Fix by temporarily increasing the package quota in WHM (Edit a Package), then restore, and adjust afterwards.

    Database Import Fails: "ERROR 1044: Access denied"

    This happens when the MySQL user for the database wasn't recreated properly. Manually create the user and grant privileges:

    mysql -u root -p
    CREATE USER 'username_dbuser'@'localhost' IDENTIFIED BY 'password';
    GRANT ALL PRIVILEGES ON username_database.* TO 'username_dbuser'@'localhost';
    FLUSH PRIVILEGES;

    Error: "Could not find the backup file"

    WHM only scans /home, /root, and /tmp. Move your backup to one of these directories. Also check file permissions — the file must be readable by root (chmod 644 backup-file.tar.gz).

    Restore Completes But Website Shows 500 Error

    File permissions are usually the culprit. Run:

    /scripts/fixperms username

    If the error persists, check the PHP error log at /home/username/public_html/error_log and verify the database credentials in the site's config file (wp-config.php, .env, etc.) match the restored database name and user.

    Verify the Restore Was Successful

    Never assume a restore succeeded just because no errors were shown. Run these checks:

    1. Verify files exist

    ls /home/username/public_html/

    2. Verify databases were imported

    mysql -u root -p -e "SHOW DATABASES;" | grep username

    3. Verify email accounts

    ls /home/username/mail/

    4. Verify DNS zone

    cat /var/named/domain.com.db

    5. Load the site in a browser using the server's temporary URL or by modifying your local /etc/hosts file to bypass DNS.

    Best Practices for cPanel Backup Restores

    • Always verify free disk space before restoring — run df -h to check; aim for at least 3× the backup size free
    • Use Restricted Restore for untrusted backup files — this prevents malicious scripts embedded in backup archives from executing
    • Run a post-restore fix-permissions pass — /scripts/fixperms username prevents 403/500 errors from incorrect ownership
    • Document your restore — note the date, backup source, and any components that required manual intervention
    • Test restores in a staging environment first when restoring to a live production server

    For complex restore situations, hardware failures, or environments where backup files are corrupted, CloudHouse's team provides hands-on cPanel server management and emergency recovery support to get your sites back online fast.

    FAQs

    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

    Log in to WHM, go to Backup > Restore a Full Backup/cpmove File, upload your backup to /home on the server, select it from the dropdown, configure overwrite and IP options, and click Restore. WHM displays a live log and ends with 'Restore Complete' on success.

    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...

    Struggling With a cPanel Backup Restore?

    Backup restores that fail silently or throw cryptic errors are more common than you'd think. Our cPanel-certified engineers handle full account recoveries, database imports, and permission fixes around the clock. Contact CloudHouse for immediate restore support.

    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