Backup Architecture in Plain Language
Who this is for
Anyone who wants to understand how CloudAIPilot's backup system works before setting it up.
Overview
CloudAIPilot's backup system runs directly on your servers via SSH. It does not route your data through CloudAIPilot's own infrastructure — backups go from your server to your chosen storage destination.
Backup Types
| Type | What it backs up | Use for |
|---|---|---|
snapshot | A point-in-time cloud provider disk snapshot | Fast full-server recovery; cloud provider charges may apply |
files | The site or server's files (via rsync/tar) | Website files, app files, static assets |
database | MySQL/MariaDB or PostgreSQL database dump | Database-only backup; fast and lightweight |
full | Files + database combined | Complete site backup for restore on any server |
How Backups Run
- CloudAIPilot SSH-es to your server as the
cloudpilotuser. - Runs the backup script (tar, mysqldump, or cloud snapshot API call).
- Backup file is stored temporarily at
/tmp/cloudpilot-backups/on the server./ - Metadata (size, status, path) is recorded in CloudAIPilot.
- Optionally, the backup is uploaded to a cloud storage vault (S3, GCS, Azure Blob, DigitalOcean Spaces).
Important: Local backups (stored at /tmp/...) are kept on the server. If the server is deleted, these backups are lost. Always configure offsite/cloud storage for important backups.
Backup Status Values
| Status | Meaning |
|---|---|
pending | Backup job queued, not yet started |
running | Backup is actively running on the server |
completed | Backup finished successfully |
failed | Backup encountered an error |
Offsite Backup Status Values
| Status | Meaning |
|---|---|
null | Backup has not been uploaded to cloud storage |
uploading | Upload to cloud storage is in progress |
uploaded | Successfully stored in cloud storage |
failed | Upload to cloud storage failed |
Manual vs Scheduled Backups
- Manual (on-demand): triggered by you at any time — see KB-05-02: Create an On-Demand Backup.
- Scheduled: run automatically on a cron schedule — see KB-05-03: Configure Backup Schedules.
Snapshot vs File/Database Backups
| Snapshot | Files/Database/Full | |
|---|---|---|
| How it works | Cloud provider API creates a disk image | CloudAIPilot runs scripts on the server |
| Restore method | Restore via cloud provider console | Restore via CloudAIPilot (files/DB overwritten) |
| Downloadable | No | Yes (.tar.gz) |
| Cloud storage upload | No (stays in cloud provider) | Yes |
| Cost | Cloud provider charges per GB | No additional cost from CloudAIPilot |
| Speed to create | Fast (async snapshot) | Depends on data size |
Backup Retention
Backups expire after the configured retention period (default: 30 days). Expired backups are automatically cleaned up. See KB-05-09: Retention Policy.
Related Articles
- KB-05-02: Create an On-Demand Backup
- KB-05-03: Configure Backup Schedules
- KB-05-07: Cloud Storage Vault for Offsite Backup