Skip to content

Import a backup ​

Import a backup moves your website, databases, email, and other settings from your previous hosting provider into this hosting account, from a backup file of your old cPanel account. You upload the file, the server reads it and shows what it holds, and nothing in your account changes until you check the preview and choose Restore. Since panel 1.9.3.

Not a restore of this server's backups

This page imports a backup made on another server. To go back to a backup of this account made here, use Backups or JetBackup. Your hosting provider can also move accounts directly from another server; see Migration: which one do you need?.

Import a backup in the client panel with the upload form and an empty imports list

Overview ​

URL: /client/backup-import

Open it from Files > Import a backup in the sidebar. The page reads:

Upload a full account backup from your previous hosting provider. The server checks the file and shows what it contains. Nothing is changed in your account at this step.

The menu entry appears only when your hosting provider allows backup imports and your hosting plan includes the Backup import feature. Otherwise the page does not exist for your account. The import always goes into the account you are signed in to.

Which backup file to upload ​

Upload a full account backup made by cPanel, in .tar.gz or .tar format. In cPanel it is the full account backup you download from the Backup page, usually named backup-<date>_<user>.tar.gz. A backup your previous provider made for you, usually named cpmove-<user>.tar.gz, works too. The file must hold one account. A backup from another control panel is refused with "This file is not an account backup the import can read."

Uploading the backup ​

  1. Choose the file under Backup file.
  2. Click Upload and check.

The page shows two limits above the file field:

  • Largest file you can upload, which your hosting provider sets.
  • Free space in your plan: "The backup file must fit in it."

A large file is sent in parts, with a progress bar. When the connection drops, the upload stops with "The connection was lost. The upload stopped at N%. Choose Resume to continue." Click Resume on the import's row and select the same file, with the same name and size. The upload continues where it stopped. When your session has expired, reload the page and resume.

When the upload finishes, the server checks the file, unpacks it, and lists what it contains. The page updates by itself while it works.

The imports list ​

Imports lists the backups uploaded into your account:

ColumnWhat it shows
FileThe name of the uploaded file.
Import intoYour account.
Import stateFor example Uploading, Reading the contents, Preview ready, Restoring, Completed, Partly completed, or Failed.
SizeThe size of the file.
StartedHow long ago the import started.

The row actions:

  • Show opens the import below the list.
  • Resume continues an unfinished upload.
  • Try again runs a failed or unfinished import again, see Trying again.
  • Cancel stops an import before restoring starts and removes its file.
  • Stop ends a restore after its current step. What was restored stays in your account.
  • Remove file removes the file a failed import keeps. It can then no longer be tried again.

When your hosting provider uploaded a backup into your account, you see it in the list too, but only your provider or an administrator can restore it. The row then says so, for example "This backup was uploaded by your hosting provider. Only they, or an administrator, can restore it."

What the preview shows ​

Show opens the import with:

  • Account in the backup, Backup made, and Backup type.
  • Everything the backup holds, grouped into Domains, Website files, Databases, Database users, Mailboxes, Forwarders, Autoresponders, DNS zones, DNS records, Cron jobs, SSL certificates, FTP accounts, and other groups, each with a count and a status such as Found or Cannot be imported.

Cron job commands and forwarder destinations that may contain a password are hidden.

What is not imported ​

These are shown in the preview but not imported:

  • Mailing lists and the account mailbox.
  • SSH keys: "SSH keys are never imported. Add the keys in the account after the import."
  • PostgreSQL databases: "PostgreSQL databases are not imported. Move them to the new account by hand."
  • DNS records of a kind this server does not keep, for example CAA.
  • Catch-all addresses, and forwarders that deliver to a program or a file rather than an address.
  • Self-signed or expired certificates. Issue a new certificate on SSL Certificates after the import.
  • Views, triggers, and procedures of a database.
  • Empty folders, and links that point outside the account.

Choosing what to restore ​

When the import is Preview ready, check the preview, then restore: "Nothing is written until you do." The backup is merged into your account: "Nothing the account has is removed or overwritten unless you choose to replace it below and confirm." When your account does not have the main domain of the backup yet, that domain is added as an addon domain, so it counts against your plan's addon domains. When your account already has it, the domain is merged and counts against nothing more.

Plan limits ​

A table compares the backup with your hosting plan: Additional domains, Subdomains, Alias domains, Databases, Email accounts, FTP accounts, and Disk space (MB), each with what is Allowed and what your account will hold In this restore. When the backup does not fit, leave items out, or ask your hosting provider for a larger plan.

Items ​

The items are grouped by kind, each with what the restore will do: Will be restored, Will be merged, Will be replaced, Blocked, or Not restored, and the reason where there is one. Tick an item to leave it out: "Ticked items are left out of the restore, together with everything that needs them."

Where an item meets something your account already has, choose what happens:

ItemDefaultOther choices
Website filesAdd missing files, keep existing onesOverwrite existing files with those from the backup
DatabaseKeep what the account hasImport under a new name, Replace the database with the one from the backup
MailboxAdd missing messages, keep the passwordAdd missing messages, use the password from the backup, Keep what the account has
Database userMerge: the password stays, missing permissions are addedKeep what the account has
DNS records under a nameKeep what the account hasReplace the records under this name with those from the backup
SSL certificateKeep what the account hasInstall the newer certificate from the backup

When your account already handles mail for a name, or already has an SPF or DMARC record for it, those records are kept by default. Replace the records under this name with those from the backup replaces them, after the confirmation under Confirming replacements. Files the panel manages in a website folder, such as .user.ini, are always kept.

Confirming replacements ​

A choice that replaces something is listed under "These choices replace what the account has:". Tick I understand that these items will be replaced. to continue. Replaced files, a replaced database, and a replaced certificate are kept in a folder in your account, which the report names, and a replaced database also keeps its tables in a separate database of your account.

If you change something in your account after the preview, click Make a new preview before you restore.

Click Restore and confirm. "Restoring has started. This page shows its progress."

After the restore ​

Restore progress shows each step, from Check the account again to Finish. Restore report lists every item with its result, such as Restored, Merged, Skipped, or Failed, and the reason.

Check the report for passwords:

  • "The password from the backup works here." - for a login the restore created, or a mailbox you chose Add missing messages, use the password from the backup for, the password from the old server works. The same line is shown for a mailbox or database user your account already had and that kept its password, which is the default: that login keeps the password it had in your account, not the one from the backup.
  • "Set a new password: the one from the backup could not be carried over." - set a new password, for example on Email Accounts or Databases.
  • An FTP account the restore creates gets a new password. Set one on FTP Accounts. An FTP account your account already had is kept as it is, with its password.

A forwarder restored without a mailbox of its own forwards mail without keeping a copy here. See Forwarders without a mailbox.

Trying again ​

When a restore ends Partly completed, Failed, or Cancelled, correct what the report names, then click Try again. It makes a new preview of what is left: items already restored are not touched again. Check it and click Restore again. When reading the backup failed because of the server, Try again reads it again.

The file is kept for a limited time after an import fails or stops. Once it is removed, upload the backup again.

Troubleshooting ​

MessageWhat to do
"The backup is larger than the free disk space of the hosting plan."Free up space in your account, or ask your hosting provider for a larger plan.
"The file is larger than the maximum size allowed for imports."Ask your hosting provider to import the backup for you.
"The backup file is damaged or incomplete."Create a new backup on the old server and upload it again.
"Another import into this account is already in progress."Wait for it to finish.

When a message gives a correlation ID and the problem persists, contact your hosting provider with that ID.

REST API ​

The same import is available in the client REST API under /api/client/cpanel-imports. See the API reference.