Limited time offer! 25% off our lifetime plans with code LMT25 at checkout. View plans →

CyberPanel

Your Backup Says Successful. Can You Restore Your Website?

CyberPanel backup and restore demonstration: original files and database values recovered on a real test website
On this page
CYBERPANEL / PRACTICAL WALKTHROUGH

We backed up a real test website, changed its files and database, removed the disposable site, and recovered the original through CyberPanel. Here is what we checked.

26 October 2026 · CyberPanel 3.0.7 · Real lab captures
THE RESULTOriginal page restored. Three database records recovered.

The restored PHP file has the same SHA-256 hash as the original. The database rows and the live HTTP response also match the baseline.

A completed backup is useful. A successful recovery tells you more. An archive can exist while missing the content you need, and an application can still fail after its files return. The way to find out is to restore a known backup and compare the result with a known starting point.

For this walkthrough, we used a dedicated CyberPanel test website with a PHP page and a small MariaDB database. Every customer name, order and record in the demonstration is synthetic. We used CyberPanel’s actual browser interface to create the backup and start restoration.

Watch the recovery test

Edited live browser captures, timed captions and synthetic English narration. Waiting time is omitted. The reel is not a measurement of restore speed.

Know which restore workflow you are using

CyberPanel has several backup tools. This demonstration uses Backups → Create Backup and Backups → Restore Backup, the manual full-site archive workflow on our installed 3.0.7 build. It is separate from WordPress Manager backups, incremental snapshots and managed cloud-backup jobs.

Scope of this recovery: this build’s full restore recreates the website account. It rejects a website account that already exists. We therefore removed only the newly created disposable lab site after preserving its backup. This is not a demonstration of overwriting an existing production site. For a production recovery, choose the workflow that fits your backup type and plan the destination before making changes.

1. Establish a starting point you can verify

Our demo runs at backup-lab-20261026.cyberpanel.net. Before backing it up, we checked the page in a browser and recorded three kinds of evidence: the SHA-256 hash of index.php, every row in the demo database table, and a fresh HTTP response from the running application.

The database contained three records: a welcome headline, the synthetic order CP-DEMO-1042, and the marker BACKUP-PROOF-20261026. The page reads them from MariaDB on each request. Seeing those values after recovery therefore checks more than a static screenshot.

Before backup: the original page reads three known records from MariaDB.
Before backup: the original page reads three known records from MariaDB.

2. Create the full backup in CyberPanel

Open Backups from the sidebar, then choose Create Backup. Select the intended website and choose Home as the destination for this manual test. Check the domain carefully before starting.

The actual Backups hub on the test server: Create Backup and Restore Backup are separate tools.
The actual Backups hub on the test server: Create Backup and Restore Backup are separate tools.
The selected disposable website and Home destination before Create Backup was pressed.
The selected disposable website and Home destination before Create Backup was pressed.

Click Create Backup and wait for completion. On this run, CyberPanel created a .tar.gz archive beneath the website’s backup directory. We inspected the archive: it contained the website files, the SQL database dump, virtual-host configuration and backup metadata.

The job reached Completed and appeared in Existing Backups. This tiny archive is rounded to 0MB in the interface.
The job reached Completed and appeared in Existing Backups. This tiny archive is rounded to 0MB in the interface.

The actual archive was 4,395 bytes. The interface displayed 0MB, so we checked the file itself rather than treating the rounded display as an empty backup. For a larger site, allow enough local disk space and site quota for both backup creation and restore staging.

3. Preserve a copy outside the website

We copied the completed archive to /home/backup, where this Restore Backup tool discovers it. We also downloaded a second copy to a separate laptop and compared the SHA-256 checksums. Both copies matched.

VERIFIED ARCHIVE SHA-256459a8a3669419e39c7a52059ce017518808a20c5d8bfc1ce15fbe6f395ed687e

The distinction matters: moving an archive into another directory on the same server does not protect it from losing that server. Our laptop copy established a separate copy for this exercise. It did not configure or test automatic SFTP uploads, Google Drive, retention or scheduled backups.

A backup can contain application credentials and account metadata. Store it privately, restrict access and protect the device or storage holding it. The supporting files contain screenshots and verification results; the backup archive itself is excluded.

4. Make the test detect a real rollback

After the backup completed, we changed the PHP page’s appearance and updated two database values. The headline became “This content changed after backup,” and the recovery marker became CHANGED-AFTER-BACKUP. We verified that both the file hash and database contents now differed from the baseline.

Controlled changes after backup: the page appearance and database marker both differ from the original.
Controlled changes after backup: the page appearance and database marker both differ from the original.

We then removed only the disposable website through CyberPanel’s CLI to exercise the full account-recreation restore path. The browser returned a real 404. The saved archive in /home/backup and its separate laptop copy remained available. This deletion was a deliberate test step on an isolated site, not a step to copy onto a live customer website.

After the disposable site was removed, the web server returned 404 Not Found.
After the disposable site was removed, the web server returned 404 Not Found.

5. Restore the saved CyberPanel archive

Return to Backups → Restore Backup. The page explains that it detects CyberPanel-generated archives in /home/backup. Choose the original archive, check its filename and domain, then click Start Restoration.

The original CyberPanel archive selected for restoration from /home/backup.
The original CyberPanel archive selected for restoration from /home/backup.

Keep the archive until the recovered application has been checked. In our test, the restoration table reached Completed with status Done. That was the signal to begin checking the result.

The actual restore result: Completed / Done. Verification continues beyond this screen.
The actual restore result: Completed / Done. Verification continues beyond this screen.

6. Verify the recovered files, database and page

We loaded the site again with a fresh request. The original green design and headline returned, the synthetic order was present, and the recovery marker was back to BACKUP-PROOF-20261026. We then compared the underlying evidence.

Check Observed result
PHP file SHA-256 Identical to the pre-backup file
All three database records Identical IDs, labels and values
Application HTTP proof response Matches the baseline
HTTP request Completed successfully
Controlled file change Confirmed before restoration
Controlled database change Confirmed before restoration
Separate archive copy Checksum matches the server archive
After restoration: the original page and database-backed values are back.
After restoration: the original page and database-backed values are back.

All seven checks passed. These results support a specific conclusion: this backup recovered this small PHP/MariaDB test site on the same server. They do not establish recovery of every application, service or server configuration.

What to check on your own website

Use an isolated destination that fits your chosen backup tool. For a real application, check important pages, media, database content, application login, forms, scheduled tasks and integrations. Confirm DNS and HTTPS separately. A recovered homepage cannot establish that checkout, email delivery or a third-party API connection still works.

Choose the backup frequency and retention around how much recent data your business can afford to lose. Keep an independently accessible copy, test the recovery process after meaningful changes, and document who can perform it. A repeatable recovery procedure is much more useful than an archive nobody has tried.

Make recovery part of your backup routine.

Create the backup. Keep a separate copy. Restore it somewhere safe. Check the data that matters.

Explore CyberPanel ↗

Test notes and sources

This demonstration used an existing owner-controlled Ubuntu 24.04 test VPS with CyberPanel 3.0.7, OpenLiteSpeed, PHP 8.3 and MariaDB. It used no customer data. The demo webpage uses plain HTTP with synthetic content; HTTPS and certificate recovery were not tested.

The server logged UTC timestamps on 25 October; the local date in Pakistan was 26 October. The server’s deletion utility retained the disposable Unix account after its PHP-worker timeout, and account creation during restore emitted status-writer diagnostics. The browser still reached Completed / Done, and the independent checks above passed. These observations are recorded in the accompanying lab notes rather than treated as a clean-log claim.

We did not test another server, whole-VPS recovery, WordPress-specific workflows, mailboxes, automated off-site jobs or recovery-time targets. The screenshots are genuine captures from this run. The reel adds graphics and synthetic narration, with idle periods removed.

Evidence: verification results, baseline, controlled changes, restored state and lab notes. Navigation and archive-discovery guidance were cross-checked against the official CyberPanel backup guide. Version-specific behavior and recovery results above come from this live test.

Leave a Reply

Your email address will not be published. Required fields are marked *

Chat on WhatsApp