Something has gone wrong with your website — a botched plugin update, a hacked file, a corrupted database, or an accidental deletion — and now you need to restore from a backup. The clock is ticking, your site may be down, and you need a clear, step-by-step process to get back online. This guide walks you through every type of cPanel backup restoration: full account restores, partial file restores, individual database recovery, and email restoration. Whether you are recovering from a minor mishap or a major disaster, these procedures will get your site back.

If you are hosted on MassiveGRID's high-availability cPanel hosting, our support team can assist with restorations, but knowing how to do it yourself means faster recovery and fewer surprises during an emergency.

Before You Start: Preparation Checklist

Before restoring anything, take these steps to avoid making the situation worse:

  1. Identify what went wrong — Know exactly what you need to restore and why. Restoring a full account when only a single database table is corrupted wastes time and may overwrite recent changes that are perfectly fine.
  2. Document the current state — Take screenshots of any error messages. Note the date and time the problem started. This helps you choose the right backup to restore from.
  3. Create a fresh backup of the current state — Even though your site is broken, the current state may contain data that is more recent than your backup. Generate a new cPanel backup before restoring so you can extract specific recent files or database entries if needed.
  4. Check available backups — Log into cPanel and check what backups are available. Note the dates and verify that the backup you want to use predates the problem.
  5. Plan for DNS and email impact — A full account restore may temporarily affect email delivery and DNS resolution. If possible, schedule the restore during a low-traffic period.

Understanding cPanel Backup Types

cPanel provides several ways to access and restore backup data, depending on what tools your host has enabled:

Backup Method Access Level Restore Capability Where to Find It
cPanel Backup Wizard cPanel user Full account or selective (home directory, databases, email, filters) cPanel > Files > Backup Wizard
cPanel Backup (full) cPanel user Download/upload full account archive cPanel > Files > Backup
JetBackup cPanel user (if installed) Granular: individual files, databases, emails, DNS, cron cPanel > Files > JetBackup
WHM Restore Server admin Full account restore from server-side backups WHM > Backup > Restore a Full Backup
Manual restore via File Manager or SSH cPanel user or SSH Upload and extract backup archive manually cPanel > Files > File Manager or SSH terminal

Method 1: Full Account Restore from a Downloaded Backup

A full account restore replaces everything in your cPanel account — all files, databases, email accounts, settings, and configurations — with the contents of the backup archive. Use this when the entire account is compromised or when you are migrating to a new server.

Step 1: Obtain the Backup File

If you have previously downloaded a full cPanel account backup, you should have a file named something like backup-1.7.2026_14-30-00_username.tar.gz. If you need to generate a new one first, go to cPanel > Backup > Generate a Full Account Backup.

Step 2: Contact Your Hosting Provider

Full account restores from a user-downloaded backup file typically require server administrator (root/WHM) access. Most hosting providers will restore a full backup for you if you submit a support ticket with the backup file. On MassiveGRID cPanel hosting, you can submit the backup file through your support portal for restoration.

Step 3: Wait for Restoration to Complete

The restoration process involves decompressing the archive, restoring files, importing all databases, recreating email accounts, and applying account settings. Depending on the size of your account, this can take anywhere from a few minutes (small sites) to several hours (large accounts with many databases and email accounts).

Step 4: Verify the Restoration

After restoration completes:

Method 2: Partial File Restore via cPanel Backup Wizard

When you only need to restore specific files (not databases or email), the cPanel Backup Wizard provides a straightforward interface.

Step 1: Navigate to Backup Wizard

Log into cPanel and go to Files > Backup Wizard. Click Restore.

Step 2: Choose "Home Directory"

Select Home Directory to restore only the files in your home directory. This will not affect databases or email.

Step 3: Upload the Partial Backup

You will need a home directory backup file (typically named backup-username-home.tar.gz). Upload the file and cPanel will extract it to your home directory, overwriting existing files with the backup versions.

Warning: This overwrites all files in your home directory. If you only need to restore a single file, use the JetBackup method or manual SSH extraction described below instead.

Method 3: Database-Only Restore

Database corruption or accidental table drops are among the most common reasons for needing a restore. Fortunately, you can restore individual databases without touching your files.

Using cPanel Backup Wizard

  1. Go to cPanel > Files > Backup Wizard > Restore
  2. Select MySQL Databases
  3. Upload the database backup file (a .sql.gz or .sql file for the specific database)
  4. cPanel will import the SQL dump, replacing the existing database contents

Using phpMyAdmin (for Fine-Grained Control)

If you need to restore specific tables rather than an entire database:

  1. Extract the .sql file from your backup archive
  2. Open the file in a text editor and isolate the SQL statements for the specific table(s) you need
  3. Log into phpMyAdmin from cPanel
  4. Select the target database
  5. If the table exists and is corrupted, drop it first: DROP TABLE tablename;
  6. Go to the Import tab and upload the edited SQL file containing only the tables you need
  7. Verify the restored tables contain the expected data

Using SSH Command Line

For large databases, command-line import is faster and more reliable than phpMyAdmin:

mysql -u username -p database_name < backup_file.sql

Replace username, database_name, and backup_file.sql with your actual values. You will be prompted for the database user's password.

Method 4: Granular Restore with JetBackup

JetBackup is a third-party backup management tool that many hosting providers install as a cPanel plugin. It provides the most user-friendly restoration experience, with granular control over exactly what gets restored.

Restoring Individual Files

  1. Go to cPanel > JetBackup > File Backups
  2. Select the backup date you want to restore from
  3. Browse the file tree and navigate to the specific file or directory you need
  4. Select the file(s) and click Restore or Download
  5. JetBackup will restore only the selected files, leaving everything else untouched

Restoring Individual Databases

  1. Go to cPanel > JetBackup > Database Backups
  2. Select the backup date
  3. Choose the specific database to restore
  4. Click Restore — JetBackup will replace the current database with the backup version

Restoring Email Accounts

  1. Go to cPanel > JetBackup > Email Backups
  2. Select the backup date and the email account to restore
  3. Click Restore to recover the email account and all its messages

Method 5: Manual Restore via SSH

If you have SSH access and a downloaded backup archive, you can perform manual, surgical restores with maximum control.

Extracting Specific Files from a Full Backup

# Upload the backup to your home directory first
# List the contents without extracting
tar -tzf backup-username.tar.gz | head -50

# Extract a specific file
tar -xzf backup-username.tar.gz homedir/public_html/wp-config.php

# Extract an entire directory
tar -xzf backup-username.tar.gz homedir/public_html/wp-content/uploads/

# Move the extracted files to the correct location
cp -r homedir/public_html/wp-content/uploads/* ~/public_html/wp-content/uploads/

Extracting a Database Dump from a Full Backup

# Extract the MySQL directory from the backup
tar -xzf backup-username.tar.gz mysql/

# The extracted mysql/ directory contains .sql files for each database
# Import the one you need
mysql -u dbuser -p dbname < mysql/dbname.sql

Restoring a WordPress Site Specifically

WordPress sites have a predictable structure that makes targeted restoration straightforward:

If your WordPress site was hacked, do not simply restore from backup without also identifying and fixing the vulnerability that allowed the hack. Otherwise, the attacker can exploit the same vulnerability again.

Post-Restore Verification Checklist

After any restore, run through this checklist to confirm everything is working:

When to Ask Your Host for Help

Some restore scenarios require server-level access that you may not have on shared hosting:

On MassiveGRID's high-availability cPanel hosting, our support team handles complex restorations and can assist with backup verification, ensuring your restored site is fully functional before going live.

Having a restoration process documented in advance — as part of a broader disaster recovery plan — means you do not have to figure out these steps while under pressure. Practice a restore on a staging environment before you need to do it for real.

Frequently Asked Questions

How long does a full cPanel account restore take?

It depends on the size of the account. Small accounts (under 5 GB) typically restore in 10-30 minutes. Medium accounts (5-20 GB) may take 30-90 minutes. Large accounts (over 20 GB) can take several hours, especially if they contain large databases that need to be imported. The speed also depends on whether the backup is stored locally or must be transferred from a remote location first.

Will restoring a backup overwrite my current data?

Yes. A full account restore replaces all files, databases, and email with the backup version. A partial restore (home directory only, database only) replaces only the specific component. This is why creating a fresh backup of your current state before restoring is so important — it preserves any recent data that the backup you are restoring from does not contain.

Can I restore a backup from one hosting provider onto a different host?

Yes, cPanel backup archives are portable. A backup generated on one cPanel server can be restored on any other cPanel server, provided the destination server supports the same cPanel version (or newer). This is the standard method for migrating between hosting providers. The new host will need WHM access to perform the restoration.

What if my backup is corrupted and will not restore?

First, verify the file integrity — try extracting the archive locally (tar -tzf backup.tar.gz should list contents without errors). If the archive is corrupted, check if your host has older backups available. If no usable backup exists, specialized data recovery services can sometimes salvage partial data from corrupted archives. This scenario underscores why maintaining off-site backups in multiple locations is critical — it gives you multiple copies to fall back on.

Do I need to update DNS after restoring from a backup?

If you restore to the same server with the same IP address, DNS does not need to change. If you restore to a different server (such as during a migration), you will need to update your domain's DNS records to point to the new server's IP address. DNS propagation takes 1-48 hours depending on your TTL settings. See our guide on zero-downtime migration for strategies to minimize downtime during DNS transitions.