What a backup contains
A site backup is a directory under /var/lib/aurapanel/backups/<domain>/<date>/, readable by root only, holding:
- one gzipped SQL dump per database bound to the site;
- with scope DB + files, a
files_….tar.gzof the document root plus any application data directory the panel knows lives outside it (Moodle's data root, Nextcloud's data); - a manifest describing the site, its type and what was captured.
Not included: nginx server blocks, certificates and keys, cron entries, Linux users, the panel's own database, and anything outside the document root and registered data directories. Those are recreated by the panel or the restore wizard, not restored from the archive.
Schedule backups
- Open the site's Backups tab.
- Choose the scope: Databases only (the default), or DB + files.
- Choose a frequency: hourly, every 3, 6 or 12 hours, daily, weekdays, weekends or weekly, with an hour of day (UTC) and, for weekly, a weekday.
- Set retention: keep backups for 1 to 365 days (default 14), and always keep at least N most recent (default 7).
The scheduler runs inside the panel and checks every ten minutes; it does not use system cron.
Back up now
Back up now on the site, or apcli backup create example.com. The backup runs as a background job with a two-hour ceiling; the panel shows its steps ("Dump databases and archive files", then "Copy to remote storage" when configured) and you can leave the page.
apcli backup create example.com
apcli backup list example.com apcli backup restore appears in the CLI help but is not implemented in this release: it replies that restore must be done from the panel. Use the restore wizard below.
Copy backups off the server
Backups in the main menu configures one off-site destination through rclone. Providers offered: Amazon S3, Backblaze B2, Dropbox, Google Drive, SFTP and OpenStack Swift, plus a free-form parameter box for anything else rclone supports, and a remote:path target. After each backup the new files are copied there. A failed copy is reported as a warning and the local backup is kept.
Restore
The Restore action on a backup opens a three-step wizard with two destinations:
- Over the existing site. The panel takes an automatic backup of the current state first, then replaces the databases (and files, if the backup has them).
- Into a new site. The panel creates a fresh site of the same type and restores into it. This is how you clone a site or move a domain.
Restoring into a different site is only offered for applications the panel knows how to re-home: rewriting the restored configuration to the new database credentials so the copy cannot keep reading the original site's live database. WordPress, WooCommerce and Moodle are re-homed; plain PHP, static, Node.js, Python and reverse-proxy sites need nothing rewritten. Other applications are refused for a new-site restore and can only be restored over their own site.
The wizard reports success and the site serves the restored content. If only databases were in the backup, the wizard says so: "Only the database will be replaced — … keeps its current files."
"This backup contains only databases, so there is no site content to create a new site from…"
The backup was taken with the Databases scope. Restore it over an existing site, or take a DB + files backup.
"restoring … to a different domain isn't supported yet."
That application has no re-home step. Restore over the original site.
Whole-server snapshots
Snapshots in the main menu takes provider-level images of the entire server on a schedule, with the same frequency and retention options as backups (default: daily at 03:00, keep 7 days and at least 2). Credentials are stored encrypted. Only snapshots the panel labelled are listed and pruned.
| Provider | Credential | Restore |
|---|---|---|
| Hetzner Cloud | API token (read and write), server ID | From the panel |
| DigitalOcean | API token (write), droplet ID | From the panel |
| Vultr | API token allow-listed to this server's IP | From the panel |
| Hostinger | hPanel API token; one rolling snapshot | From the panel |
| AWS | Access key, secret, region, instance ID | In the provider console |
| Google Cloud | Attached service account or a key file | In the provider console |
| Azure | Managed identity or a service principal, VM resource ID | In the provider console |
Restoring from the panel replaces the running server and asks you to type RESTORE to confirm.