AdminsForum
Guide CyberPanel Backups: Create, Restore and Schedule (and Why Restore Can't Find Them) - Printable Version

+- AdminsForum (https://adminsforum.com)
+-- Forum: Free & open-source control panels (https://adminsforum.com/Forum-free-open-source-control-panels)
+--- Forum: CyberPanel (https://adminsforum.com/Forum-cyberpanel)
+---- Forum: CyberPanel Guides & Tutorials (https://adminsforum.com/Forum-cyberpanel-guides-tutorials)
+----- Forum: CyberPanel Backups & Migration Guides (https://adminsforum.com/Forum-cyberpanel-backups-migration-guides)
+----- Thread: Guide CyberPanel Backups: Create, Restore and Schedule (and Why Restore Can't Find Them) (/Thread-guide-cyberpanel-backups-create-restore-and-schedule-and-why-restore-can-t-find-them)



CyberPanel Backups: Create, Restore and Schedule (and Why Restore Can't Find Them) - JAY - 10-25-2026

CyberPanel Backups: Create, Restore and Schedule (and Why Restore Can't Find Them)

A backup you've never restored is a guess. We backed up our test site cyber.adminslab.com (WordPress, a database and a mailbox), looked inside the archive, and tried to restore it. Two things didn't work the way the screens suggest, so here is the full picture.

Step 1: Create a backup
Open Backups > Create Backup, pick the website and the destination Home, then Create Backup. Ours finished in a few seconds:
[Image: attachment.php?aid=470]

Under Existing Backups you see the file name, date, size (34 MB for our small WordPress site) and status COMPLETED.

What's in the backup
The file is a normal
Code:
.tar.gz
. On our server it was saved in the website's own folder:
Code:
/home/cyber.adminslab.com/backup/backup-cyber.adminslab.com-10.25.2026_19-30-01.tar.gz
Here is what was inside ours (
Code:
tar -tzf
on the file):
[Image: attachment.php?aid=546]
  • Code:
    cyber_wp.sql
    : a dump of each database of the site.
  • Code:
    public_html/
    : all website files.
  • Code:
    vmail/
    : the mailboxes, with all mail.
  • Code:
    vhost.conf
    and the SSL certificate (
    Code:
    privkey.pem
    ,
    Code:
    fullchain.pem
    ).
Because it contains your SSL private key, database and mail, treat the file like a password: keep it private (
Code:
chmod 600
, which CyberPanel already set) and store copies somewhere safe.

Trap 1: Restore can't see your backup
Backups > Restore Backup only lists files in
Code:
/home/backup
. At first our backup wasn't listed, because Create Backup had saved it in
Code:
/home/cyber.adminslab.com/backup/
. Copy it to
Code:
/home/backup/
first:
Code:
mkdir -p /home/backup cp /home/cyber.adminslab.com/backup/*.tar.gz /home/backup/
Reload the page and the file appears under Available Backups:
[Image: attachment.php?aid=472]

The same applies to a backup you downloaded earlier or copied from another server: put it in
Code:
/home/backup/
.

Trap 2: You can't restore over an existing site
Restoring while the site still exists failed on our server with this error:
[Image: attachment.php?aid=473]

Code:
Error Message: This website already exists.. Not able to create Account, Databases and DNS Records, aborting.
The restore tool creates the website, its user, databases and DNS records from the backup. It's made for disasters (the site was deleted, or you moved to a new server), not for rolling back a site that still exists. You have two options:
  1. Full restore: make sure the backup file is safe outside the site folder (in
    Code:
    /home/backup/
    and ideally downloaded too), delete the website in CyberPanel, then run Start Restoration.
  2. Roll back only what broke (usually better), straight from the archive:
    Code:
    mkdir /root/restore && cd /root/restore tar -xzf /home/backup/backup-cyber.adminslab.com-*.tar.gz # database only: mysql cyber_wp < cyber_wp.sql # files only (replace public_html, then fix the owner): rsync -a --delete public_html/public_html/ /home/cyber.adminslab.com/public_html/ chown -R cyber2602:cyber2602 /home/cyber.adminslab.com/public_html/*
    Use your own database name and site user. Take a fresh backup before you overwrite anything.

Step 2: Get backups off the server
A backup on the same disk is lost with the server. Add a remote destination under Backups > Destinations: CyberPanel offers Local Storage and SFTP Server (another VPS or a storage box with SSH). There are also menu entries for Google Drive, Incremental Backups (Restic snapshots) and CyberPanel's paid One-Click Backups.

Step 3: Schedule automatic backups
Backups > Schedule Backup needs a destination first; on a fresh server the list is empty:
[Image: attachment.php?aid=474]

After adding a destination, choose it, give the schedule a name, set Backup Frequency (Daily or Weekly) and Backup Retention in days (0 = keep everything, which fills the disk; 7 to 14 is a good start), click Add Schedule, then pick the websites under Manage Existing Backup Schedules.

Prefer simple and transparent? A nightly cron job plus rsync to another server works too, using SSH keys:
Code:
0 3 * * * rsync -a /home/backup/ backupuser@BACKUP-SERVER:/backups/cyberpanel/

Test your restore
At least once, restore a backup onto a spare VPS (install CyberPanel, copy the file to
Code:
/home/backup/
, Restore Backup) and open the site. That's the only real proof your backups work. A VPS snapshot at your provider is a good extra layer, especially before upgrades: see updating CyberPanel safely.

Common problems
  • Backup fails or hangs: not enough free disk space for the archive. Check
    Code:
    df -h
    .
  • Disk fills up: old backups in
    Code:
    /home/*/backup/
    and
    Code:
    /home/backup/
    . Delete what you've copied elsewhere and set a retention.
  • Restored site shows a database error: the database user or password in wp-config.php doesn't match. See databases and phpMyAdmin.
  • Restored site has no HTTPS: DNS isn't pointing to the new server yet. See the SSL guide.

More CyberPanel guides
Tested on CyberPanel 3.0 (build 8, OpenLiteSpeed edition) on Ubuntu 24.04, October 2026. Menu names can change slightly between versions.