How to Set Up Automatic Backups in cPanel: A Complete Guide

Managing website backups is one of those tasks that everyone knows they should do but far too many put off until it’s too late. If you’re running a cPanel server, you already have a powerful backup system built right into the control panel. The trick is knowing how to configure it properly so your data is protected without wasting disk space or causing performance issues.

This guide walks through every backup option available in cPanel — from the built-in Backup Wizard to full account snapshots and automated third-party integrations. You’ll learn how to set up a backup schedule that actually fits your workflow and how to restore your site when you need it most.

Understanding cPanel Backup Options

cPanel offers several independent backup tools, and the right one depends on whether you are managing a single website, reselling hosting to clients, or running a dedicated server.

The most common options are:

  • Backup Wizard — A guided interface for generating partial or full backups on demand. Best for beginners doing one-off backups.
  • Full Backups (Backup section) — Generates a complete account archive including home directory, databases, email forwarders, and configuration files. Available as a generated download or stored on the server.
  • JetBackup — A premium backup solution included with many cPanel hosting providers. Supports incremental backups, remote destinations (Google Drive, Dropbox, S3-compatible storage), and granular restores.
  • cron-based custom scripts — Advanced users can script their own backup routines using the cPanel API and schedule them via Cron Jobs.

Most shared hosting plans include JetBackup or a similar automated backup system. If yours does not, the native Backup Wizard is still a reliable way to create and download backups manually.

How to Create a Backup Using the cPanel Backup Wizard

The Backup Wizard is the simplest way to generate a backup, especially if you only need to protect a single account.

  1. Log in to cPanel and navigate to the Files section.
  2. Click Backup Wizard.
  3. Click Backup to start the process.
  4. Choose between a Partial Backup (home directory, databases, or email forwarders individually) or a Full Backup (everything in your account).
  5. Select a destination:
    • Home Directory — Saves the backup file to your account storage. Fast but uses your disk quota.
    • Remote FTP Server — Uploads the backup to an external server via FTP or SFTP. Safer because it lives off-server.
    • Secure Copy (SCP) — Copies the backup to another server over SSH. Best for sysadmins with secondary infrastructure.
    • Download — Generates the backup and prompts you to download it directly to your local machine.
  6. Click Generate Backup. Depending on your account size, this can take anywhere from a few seconds to several minutes.

Note: Full backups created via the Backup Wizard generate a .tar.gz file containing your entire account. These cannot be restored through the wizard on a different server — they must be extracted by the server administrator. For self-restore capability, use Partial Backups or a tool like JetBackup.

Automating Backups with Cron Jobs

Manual backups are better than nothing, but automation is where real peace of mind begins. In cPanel, you can schedule recurring backups using Cron Jobs combined with the cPanel backup script.

Step 1: Locate the cPanel Backup Script

The cPanel backup script is located at:

/usr/local/cpanel/scripts/backup

This script accepts configuration parameters defined in /etc/cpanel/backup.conf on most servers. If you are on a shared hosting plan, you may not have shell access to these files — in that case, ask your hosting provider whether automated backups are already enabled.

Step 2: Create a Cron Job for Backups

If you have shell access, a simple weekly backup cron entry looks like this:

0 3 * * 0 /usr/local/cpanel/scripts/backup

This runs a full backup every Sunday at 3:00 AM. Break it down:

  • 0 — Minute (top of the hour)
  • 3 — Hour (3 AM)
  • * — Day of month (every day)
  • * — Month (every month)
  • 0 — Day of week (Sunday)

For resellers and server administrators, create a configuration file at /var/cpanel/backups/config to specify which accounts to back up and where to store them.

Step 3: Automate within cPanel (No Shell Required)

For users without command-line access, the best approach is to script the backup using a Cron Job with a simple wget or PHP call to a local backup utility. Many hosting providers offer a “Generate and Email Backup” option directly in the cPanel Backup interface, which sends a fresh backup to your email on a custom schedule.

Restoring a Backup in cPanel

Restoring is where most people get stuck. The method depends entirely on the type of backup you created.

Restoring a Partial Backup

  1. Go to Backup Wizard in cPanel.
  2. Click Restore.
  3. Select the backup file (.tar.gz for home directory, .sql for databases, or .gz for forwarders).
  4. Click Upload and wait for the restore to complete.

Restoring a Full Account Backup

Full backups created by the Backup Wizard cannot be restored through the cPanel interface. They must be restored by a server administrator using the command line:

/usr/local/cpanel/scripts/restorepkg <username>

This is a common point of confusion — always verify which restore method applies before relying on a full backup as your sole recovery strategy.

Restoring with JetBackup

If your host provides JetBackup, the restore process is much smoother:

  1. Log in to cPanel and click JetBackup.
  2. Select the backup date from the calendar interface.
  3. Choose what to restore (entire account, specific files, databases, or email accounts).
  4. Click Restore. JetBackup handles the rest in seconds.

Best Practices for cPanel Backups

A backup is only useful if it actually works when you need it. Follow these practices to avoid nasty surprises:

  • Store backups off-server. A backup stored on the same server as your website is useless if the server fails. Use remote FTP, S3, or a local download.
  • Test your restores quarterly. Every three months, restore a backup to a staging environment and verify everything loads correctly. This is the single most overlooked backup step.
  • Keep multiple backup generations. Retain at least the last 7 daily backups and 4 weekly backups. Ransomware or data corruption can go unnoticed for days.
  • Monitor backup logs. In cPanel, check /usr/local/cpanel/logs/backup.log (or the Backup Configuration section) to confirm backups are completing without errors.
  • Use incremental backups when possible. JetBackup’s incremental mode only backs up changed files, reducing storage usage and transfer time dramatically.
  • Back up your databases separately. In addition to full account backups, schedule a separate MySQL dump via phpMyAdmin or a cron-based mysqldump command. Database corruption can happen independently of file system issues.

Key Takeaways

  • cPanel offers multiple backup paths: the Backup Wizard for manual on-demand backups, JetBackup for automated scheduled backups, and Cron Jobs for custom scripting.
  • Partial backups can be restored directly through the cPanel interface, but full account backups require administrator-level command-line access.
  • Off-server storage (remote FTP, S3, or local download) is essential — never rely solely on backups stored on your hosting server.
  • Automated backups via Cron Jobs eliminate human error and ensure consistent protection, especially when scheduled during low-traffic hours.
  • Testing restores regularly is the only way to confirm your backup strategy works. Unverified backups are just wishful thinking.
  • JetBackup simplifies the entire process with incremental backups, granular restore options, and cloud storage integration.