Skip to main content

How to Create a Website Backup

Hosting & cPanel · 05.02.2025 · 5 min read
Illustration for “How to Create a Website Backup”

Backups on ZevsHost

ZevsHost creates daily automated backups and keeps them separate from the account's working storage. You can also create a manual backup at any time before a risky change — a plugin update, a theme migration, or editing the database directly.

Full Site Backup

  1. In cPanel go to "Backup" → "Backup Wizard"
  2. Click "Backup" → "Full Backup"
  3. Select the destination (Home Directory)
  4. Enter an email for the completion notice
  5. Click "Generate Backup"

A full backup includes files, every database, email account settings, and DNS zones. For a large site the archive can take anywhere from a few minutes to an hour — the process runs in the background, and cPanel stays usable the whole time.

Database-Only Backup

  1. In cPanel select "Backup" → "Download a MySQL Database Backup"
  2. Click the database name to download the .gz file

This partial backup is useful when only content or database settings are changing — before editing tables by hand in phpMyAdmin, for example — and downloading gigabytes of site files just for safety would be pointless.

Real Errors When Creating a Backup

If a backup does not finish, the cPanel notification email or the cron job log may contain a line like:

Backup failed: disk quota exceeded while writing archive
to /home/user/backups/backup-2026-09-30.tar.gz

This means the temporary archive ran out of disk space — a full backup is assembled locally first, and it needs almost as much free space as the whole account occupies. If the disk is full, free up space or download the backup in parts: the database separately, the files separately through File Manager. The second common problem is a timeout on large databases:

mysqldump: Got error: 2013: Lost connection to MySQL server
during query when dumping table `wp_options`

The cPanel web interface cuts off long-running operations after a timeout. For databases several gigabytes in size, it is more reliable to run mysqldump directly over SSH, with no execution time limit imposed by the browser.

Backup Methods Compared

MethodWhat it savesWhen to use it
Full Backup via cPanelFiles, databases, email, DNSBefore major changes, one-off
Download a MySQL Database BackupA single database onlyBefore editing database content
mysqldump over SSHOne or several databases, no timeoutLarge databases, cron automation
ZevsHost automatic daily backupThe entire accountOngoing safety net in the background

Automating Database Backups With Cron

If you need your own database backup more often than once a day (for example, for a store with frequent orders), set up a cron job in addition to ZevsHost's built-in backups:

  1. In cPanel open "Advanced" → "Cron Jobs"
  2. Set a schedule, for example every 6 hours, along with the command that dumps the database
  3. Make sure old archives get deleted automatically over time, otherwise they will eat up the plan's entire disk quota
# Example cron command: back up the database, keep only the last 7 copies
mysqldump -u USER -pPASSWORD DBNAME | gzip > ~/backups/db-$(date +%F).sql.gz
find ~/backups -name "*.sql.gz" -mtime +7 -delete

See the article on Cron jobs in cPanel for schedule syntax and common mistakes.

Restoring a Backup

Contact support or use "Backup" → "Restore" in cPanel. Restoring a full backup overwrites the current state of files and the database, so it is worth taking a fresh backup of the current version before rolling back, in case the rollback itself turns out to be a mistake.

When a cPanel Backup Is Not Enough

  • The database is bigger than a few gigabytes — the web interface hits a timeout, so you need mysqldump over SSH or a console client
  • You need version history spanning several weeks, not just the "latest" copy — the built-in Backup Wizard keeps no version history
  • You need backups on external S3-compatible storage with daily rotation — that requires WHM-level access with JetBackup, not available on a regular shared account
  • The site is so large that archiving through cPanel takes hours and interferes with the site during peak load

Verifying the Result

  1. Download the archive and unpack it locally: tar -tzf backup-2026-09-30.tar.gz | head should list files with no errors
  2. Confirm the archive contains a mysql folder with database files, not just public_html
  3. Periodically do a test restore on a separate test domain — a backup that has never been restored cannot be trusted

Setting up a regular backup to remote FTP storage through WHM is covered in the article on automatic backups in cPanel, and restoring large database dumps is covered in the article on mysqldump: backup and restore.

Was this article helpful?
← Back to Knowledge Base Ask Support