Opterius backups are per-account, not server-wide snapshots. Each backup captures everything belonging to a single hosting account: files, databases, email, and cron jobs. This keeps backups portable and makes targeted restores fast — you can restore one account without touching anything else on the server.
What gets backed up
| Component | Details |
|---|---|
| Files | Full home directory contents including public_html, logs, and any files outside the webroot |
| Databases | All MySQL/MariaDB databases owned by the account, dumped with structure and data |
| Full Maildir for each mailbox — inbox, sent, drafts, and all folders | |
| Cron jobs | The account's crontab entries |
Backup types
When creating a backup you choose the scope:
- Full — files, databases, email, and cron jobs in a single archive
- Files only — home directory contents only, no databases or mail
- Databases only — all account databases, no files
- Email only — Maildir contents for all mailboxes
Full backups are the default for scheduled jobs. On-demand backups of a single component are useful when you only need to capture or restore one part of an account.
Storage destinations
Backups can be stored in any of the following locations:
| Driver | Use case |
|---|---|
| Local disk | Fast, no external credentials required. Not suitable as your only copy — a disk failure or server compromise loses the backup too. |
| Amazon S3 | Reliable off-server storage. Configure bucket, region, and IAM credentials in Server Mode → Settings → Backups. |
| Backblaze B2 | Cost-effective S3-compatible object storage. Configure key ID, application key, and bucket name. |
| SFTP remote | Any remote server with SSH. Configure host, port, username, and private key. |
[!WARNING] Do not rely on local disk as your sole backup destination. Store at least one copy off-server so that a hardware failure or active compromise does not destroy your only backup.
Backup naming
Every backup archive is named {username}_{date}.tar.gz. For example, alice_2026-04-08.tar.gz. Multiple backups taken on the same day append a sequence suffix.
Retention policy
Scheduled backups respect a configurable retention count — the panel keeps the last N backups and deletes older ones automatically. There is no automatic retention on on-demand backups; delete those manually when no longer needed. See Scheduled Backups for configuration details.
How restores work
Restores are initiated by an admin from Server Mode → Accounts → [account] → Backups → Restore. Four restore modes are available:
- Full account restore — overwrites all files, databases, email, and cron jobs with the backup contents
- Files only — replaces home directory contents only
- Databases only — drops and reimports all databases from the backup
- Email only — replaces Maildir contents
Restores can also target a different account, which is useful for duplicating an account or recovering into a clean account during disaster recovery.
The restore operation runs via the agent and reports progress in the panel. The source backup does not need to be on the same server — you can upload an archive and restore from it directly.
On-demand vs. scheduled backups
| On-demand | Scheduled | |
|---|---|---|
| Triggered by | Admin or user clicking Create Backup | Laravel scheduler, runs automatically |
| Timing | Immediately | Daily or weekly at configured time |
| Retention | Manual | Auto-deleted per retention count |
| Use case | Pre-migration snapshot, one-off safety copy | Regular protection, disaster recovery |
See Creating a Backup and Scheduled Backups for step-by-step instructions.