Server backups you can actually restore
Most hosting admins have a backup they have never restored. It ran last night, it sits somewhere, and nobody knows if it opens. ctapanel packages each cPanel account or Plesk site with the panel’s own tool, checks the file when it arrives, encrypts it if you ask and sends it where you choose. When a customer calls, you restore that site to the same server or another one, from the same screen.
How cPanel and Plesk backup works here
A backup proves its worth on one day only: the day you restore it. Until then it is a file you hope is fine. On cPanel, the ctapanel agent runs /scripts/pkgacct for each account and produces the same cpmove package WHM itself makes. On Plesk it calls pleskbackup, per subscription or for the whole server with its configuration. Nothing is filtered or repacked. Site files, databases, email, SSL and the rest are whatever the native tool puts in. That pays off at restore time, because restorepkg and pleskrestore read the package they expect, and a downloaded package still installs by hand in WHM or in Plesk’s Backup Manager.
Running it from ctapanel pays off across the fleet. Every cPanel and Plesk server with the agent shows up on one Backups screen, and each hosting account has its own backups tab. You set daily, weekly or monthly schedules in your time zone, keep the last 1 to 90 backups, and send them to ctabox, to an S3-compatible bucket on Amazon, Wasabi, Backblaze B2 or Cloudflare R2, or to another server you run. Only one job runs per server at a time, so packaging work never piles up on one machine. The rest wait in the queue.
The Backups screen also tells you what you would rather not hear. It lists schedules that are failing, running late or paused, destinations it cannot reach, and servers with no schedule at all. It shows when you last restored anything, because a backup that was never restored is not proven to work. Restore a site to a test server now and then. Some limits are real: DirectAdmin and panel-less servers cannot be backed up yet, every backup is a full package, and a restore puts back the whole account or site. They are listed further down, not buried in small print.
What happens during a backup
The same five steps run for every account or site. You follow them as statuses: queued, packaging, sending, then completed, partial or failed.
Check the disk first
Before anything is packaged, the agent checks free space on the server. It needs roughly the largest site ×1.1 plus 1 GB. If that space is not there, the job stops rather than fill the disk under every site on it.
Package with the panel’s tool
The agent runs pkgacct on cPanel and pleskbackup on Plesk, one item at a time. You get the package the panel itself would make, with the files, databases and email the native tool includes.
Stream and verify
The package streams to ctapanel in 4 MB chunks and its sha256 is checked on arrival. A job that goes silent for 30 minutes is stopped as stalled. Each item can be up to 100 GB.
Encrypt, then send
If you set a password, ctapanel encrypts the package on its side with XChaCha20-Poly1305. Then it uploads to the destination you picked: ctabox, an S3 bucket, another server or a download link.
One job per server
Only one backup or restore runs on a server at a time, and the next one queues. A failed or partial run opens an issue for our team, which closes itself on the next success.
Backups to S3, ctabox or your server
Four destinations work today. Two more are built and waiting to be switched on.
- ctabox
ctabox
ctapanel’s own storage, with space reserved for your organisation. The quota depends on your plan. There is nothing to set up, no bucket and no keys, and time-limited share links work from here.
- s3
Amazon S3 and compatibles
Amazon S3, Wasabi, Backblaze B2, Cloudflare R2, DigitalOcean Spaces or MinIO, with custom endpoint, path-style and prefix. The key is tested by writing and deleting a small file, then stored encrypted. Grant only Put, Get, Delete and List.
- server
Your other server
Any other server in your fleet that runs the agent, including a DirectAdmin or panel-less box. Files land in /home/ctapanel-backups on it. The server being backed up cannot be its own destination.
- device
Download to device
For a one-off backup you want in hand. You get a download link, and the file is deleted after 72 hours. It does not work for schedules, and a whole cPanel server cannot go this way.
- gdriveComing soon
Google Drive
Connects with OAuth and sees only the files it creates, never the rest of your Drive. The work is done on our side, but the connection is not switched on yet, so it shows as coming soon.
- dropboxComing soon
Dropbox
Connects with OAuth and sees only its own app folder in your Dropbox. Like Google Drive, it is finished on our side but not switched on yet, so it is marked as coming soon for now.
Restore a cPanel account to another server
A restore starts from the backup itself. You pick the target: the server it came from, or any other server in your organisation with the same panel. The agent runs restorepkg on cPanel or pleskrestore on Plesk, so the account comes back the way the panel expects. You confirm with a WhatsApp code before anything is touched.
- 01Same server, or any other server in your organisation with the same panel type.
- 02cPanel uses restorepkg --force and replaces an account of the same name.
- 03Plesk sites restore at domain level, so other sites on the server stay as they are.
- 04A Plesk server backup can be set up on a new machine, with IP addresses mapped to it.
- 05The Plesk licence does not move with it, and pointing DNS is up to you.
- 06A target busy with another job is refused, and encrypted backups ask for their password.
Restore overwrites the site’s current files, databases and email, so take a fresh backup first if you might need them.
Schedules and backup retention
Set it once per server and let the queue do the rest. When a run slips, you hear about it on the dashboard, not from a customer on the phone.
- 01Daily, weekly or monthly, at the time and in the time zone you choose.
- 02Keep the last 1 to 90 backups per schedule, 7 by default. Older ones are deleted from the destination too.
- 03Pause, resume, edit or delete a schedule, or run every enabled schedule now.
- 04A run more than 2 hours overdue raises a warning telling you to check the agent.
- 05A failed latest backup raises a critical alert, and a late backup lowers the health score.
- 06A delete counts only once the destination confirms it. Otherwise it is retried about every 30 minutes, up to 12 times.
Encrypted backups and who can touch them
A backup holds every customer’s files, databases and mail. Treat access to it the way you treat root.
- 01
XChaCha20-Poly1305 encryption
Set a password of at least 8 characters and the package is encrypted on ctapanel’s side with XChaCha20-Poly1305, the key derived with Argon2id. You can add a password later, except to backups stored on a server.
- 02
The password is not kept
ctapanel forgets the password once the job ends. Lose it and nobody can open that backup, ctapanel included. Encrypted backups ask for it again to download, restore or delete.
- 03
WhatsApp code to restore or delete
Restoring or deleting a backup needs a one-time code sent over WhatsApp. A wrong click on its own cannot overwrite a live site or remove the copy you were counting on.
- 04
Permissions by role
Roles split the work into view, take backups, manage schedules and destinations, restore, download and share, and delete. Support staff can take backups while delete stays switched off for them.
- 05
Audit log
Backups started, restores requested, deletes, downloads, shares, passwords set and schedules saved or deleted all go into the audit log. When something goes wrong, you can see what happened before it.
- 06
Time-limited share links
Share a ctabox or device backup with a link valid for 24 hours or 7 days, shown once. For an encrypted backup the recipient also needs the password. cPanel packages install in WHM, Plesk packages in Backup Manager.
Which panels can be backed up
Backups need the panel’s native tool and an up-to-date ctapanel agent. Today that means two panels.
- yesEach account is packaged with pkgacct as its own cpmove file. A whole server means every account, without WHM settings.
- yesBack up single domains or subscriptions, or the whole server as one pleskbackup package with its configuration included.
- noDirectAdmin servers cannot be backed up yet. With the agent installed, one can still store backups from your other servers.
- noPanel-less Linux servers cannot be backed up yet either, but with the agent they work as a storage destination.
What backups do not do
Better to read these here than find them out halfway through a restore.
- Only cPanel/WHM and Plesk, and only with an up-to-date agent. DirectAdmin and panel-less servers cannot be backed up yet.
- Every backup is a full package. There are no incremental backups.
- Restore puts back the whole account, site or Plesk server. You cannot restore a single file, database or mailbox.
- No cross-panel restore: a cPanel package goes to cPanel, a Plesk package to Plesk.
- A whole cPanel server backup covers the accounts, not the WHM settings.
- Each item is capped at 100 GB, and a job silent for 30 minutes is stopped.
- The file index is not built for encrypted backups and stops at 200,000 entries.
Backup and restore questions
Q.01How do I back up multiple cPanel servers from one place?
Install an up-to-date ctapanel agent on each cPanel/WHM server, then create a schedule for each server on the Backups screen. Pick daily, weekly or monthly, a time zone, a destination and how many backups to keep. Each account becomes its own pkgacct package. Late or failed runs raise alerts, so you are not opening each WHM to check.
Q.02Can I restore a cPanel account to another server?
Yes. Pick any other cPanel server in your organisation as the target and ctapanel runs restorepkg --force there. If an account with the same name exists, it is overwritten, so check first. The target must not be busy with another backup or restore. You cannot restore a cPanel package onto a Plesk server, or the other way round.
Q.03How do I back up Plesk to S3?
Add an S3 destination with your bucket and key. Amazon S3 works, and so do Wasabi, Backblaze B2, Cloudflare R2, DigitalOcean Spaces and MinIO through a custom endpoint. ctapanel writes and deletes a small test file before saving the key, then stores it encrypted. Give the key only Put, Get, Delete and List on that bucket, then point a Plesk schedule at it.
Q.04Are the backups encrypted?
If you set a password, yes. The package is encrypted on ctapanel’s side with XChaCha20-Poly1305, the key derived with Argon2id, before it reaches the destination. The password is not kept after the job. That is the protection and also the risk: lose it and nobody can open the backup, ctapanel included. Keep it in your password manager.
Q.05Can I restore a single file or database?
No. Restore works on the whole package: a cPanel account, a Plesk site or the Plesk server. What you can do is browse and search the backup’s file index, split into site files, databases, email and other, to see what is inside before you restore. The index is built when the backup is taken, is not available for encrypted backups and stops at 200,000 entries.
Q.06Does ctapanel back up DirectAdmin servers?
Not yet. Backups need cPanel/WHM or Plesk and the ctapanel agent. A DirectAdmin or panel-less server with the agent is still useful, though. Pick it as “my other server” and backups from your cPanel and Plesk servers are stored in /home/ctapanel-backups on it, on hardware you already run.
Connect your first server today.
Free for 14 days, no card needed. Create your account, add your first server with an API token or an SSH key, and the panel starts filling in a few minutes later.
No setup fee · Cancel anytime · EU-hosted