---
title: "Backup & Restore"
space: "Frappe Framework"
url: "https://www.prilk.com/docs/frappe-framework/backup-restore"
updated: "2026-05-14"
---

## Backup & Restore

Frappe's built-in `bench backup` exports a site's full state.

### What gets backed up

| Component | Included? |
|---|---|
| Database (schema + data) | Yes — SQL dump |
| Site config | Yes — separate file |
| Public files | With `--with-files` |
| Private files | With `--with-files` |
| App code | No — apps live in git, restored separately |

### Creating a backup

```bash
bench --site mysite backup --with-files
# Output: sites/mysite/private/backups/
```

### Restoring

```bash
# Database
bench --site mysite restore /path/to/database.sql.gz

# Files (less common — usually you only restore DB)
bench --site mysite restore /path/to/database.sql.gz \
    --with-public-files /path/to/files.tar \
    --with-private-files /path/to/private.tar
```

### Scheduled backups
Configure in **Backup Manager**:
- Frequency (daily / weekly)
- Number of backups to keep (older auto-deleted)
- Optional offsite upload — S3, Google Drive, Dropbox

### Managed plans
Frappe Cloud and Prilk-managed run automated daily backups with offsite retention (typically 30 days, longer on enterprise plans). You can download a backup any time from the dashboard.

### Disaster recovery
Test restore at least quarterly. A backup you've never restored from might be unusable for reasons you don't discover until it's too late. Common rehearsals:
- Restore last night's backup to a staging site
- Verify counts: invoices, customers, GL entries
- Spot-check one document opens correctly

### Encryption
Frappe doesn't encrypt backup files by default. For sensitive data, encrypt the backup file at rest using `gpg` or your storage provider's encryption-at-rest features.
