Creating & Managing Backups
Backups are the core of FireBackup. This guide covers how to create manual backups, view backup history, verify integrity, and manage your backup data.
Backup Types
FireBackup supports three types of backups:
Full Backup
A complete snapshot of your Firestore database at a point in time.
- Use case: First backup, periodic complete snapshots
- Size: Largest (entire database)
- Speed: Slowest (exports all data)
- Recovery: Can restore independently
Incremental Backup
Only backs up data changed since the last backup.
- Use case: Frequent backups, reducing storage costs
- Size: Smaller (only changes)
- Speed: Faster (less data to process)
- Recovery: Requires base backup + all increments
PITR Snapshot
Point-in-Time Recovery snapshots capture changes continuously.
- Use case: Compliance, granular recovery
- Size: Varies by change volume
- Speed: Continuous capture
- Recovery: Restore to any point in time
See Point-in-Time Recovery for detailed PITR documentation.
Creating a Manual Backup
From the Dashboard
- Navigate to Backups in the sidebar
- Click New Backup
- Select the project to backup
- Configure backup options
- Click Start Backup
From Project Page
- Navigate to the project
- Click Backup Now in the quick actions
- Confirm backup settings
- Click Start Backup
Backup Options
| Option | Description | Default |
|---|---|---|
| Backup Type | Full or Incremental | Full |
| Collections | Which collections to include | All |
| Include Auth | Backup Firebase Auth users | No |
| Storage Destination | Where to store the backup | Default |
| Compression | Compression algorithm | Brotli |
| Encryption | Enable AES-256-GCM encryption | Yes |
Collection Selection
You can backup:
- All Collections - Complete database backup
- Specific Collections - Select individual collections
- Exclude Collections - Backup all except specified
For collections with millions of documents, consider splitting backups across multiple schedules to avoid timeout issues.
Monitoring Backup Progress
Real-Time Status
When a backup starts, you'll see real-time progress:
- Status: Pending → Running → Compressing → Encrypting → Uploading → Completed
- Progress: Percentage complete with estimated time remaining
- Documents: Count of documents processed
- Size: Current backup size
Status Indicators
| Status | Description |
|---|---|
| Pending | Backup is queued |
| Running | Exporting data from Firestore |
| Compressing | Applying compression |
| Encrypting | Applying AES-256-GCM encryption |
| Uploading | Transferring to storage destination |
| Completed | Backup finished successfully |
| Failed | Backup encountered an error |
Viewing Backup History
Backups List
The backups page shows all backups across your organization:
| Column | Description |
|---|---|
| Project | Firebase project name |
| Type | Full, Incremental, or PITR |
| Status | Current status |
| Size | Compressed size |
| Documents | Number of documents |
| Collections | Number of collections |
| Duration | Time to complete |
| Created | When backup started |
Filtering and Sorting
Use the filter controls to find specific backups:
- Project: Filter by project
- Type: Full, Incremental, or PITR
- Status: Completed, Failed, or In Progress
- Date Range: Custom time period
Backup Details
Click on any backup to view its details:
Overview Tab
- Backup ID: Unique identifier
- Project: Source Firebase project
- Type: Backup type
- Status: Current status with timestamp
- Size: Original and compressed size
- Compression Ratio: Space savings
- Encryption: Encryption status
- Storage: Where the backup is stored
- Path: Storage path/key
Contents Tab
View what's included in the backup:
- Collections: List of backed up collections
- Document Counts: Per-collection document counts
- Subcollections: Nested collections included
Metadata Tab
Technical metadata about the backup:
{
"version": "1.0",
"format": "firebackup",
"compression": "brotli",
"encryption": "aes-256-gcm",
"checksum": "sha256:abc123...",
"createdAt": "2024-01-15T10:30:00Z",
"completedAt": "2024-01-15T10:35:00Z"
}
Backup Verification
Verify backup integrity to ensure data can be restored:
Automatic Verification
FireBackup automatically verifies:
- Checksum validation - SHA-256 hash verification
- Encryption integrity - Decryption test
- Compression integrity - Decompression test
Manual Verification
To manually verify a backup:
- Navigate to the backup details
- Click Verify Integrity
- FireBackup will:
- Download the backup header
- Verify checksums
- Test decryption
- Validate structure
Verification Results
| Result | Description |
|---|---|
| Verified | Backup is intact and restorable |
| Warning | Minor issues (e.g., metadata mismatch) |
| Failed | Backup is corrupted or unreadable |
Backup Preview
Preview backup contents without restoring:
- Navigate to the backup details
- Click Preview
- Browse collections and documents
- View document data (read-only)
Preview loads a sample of documents. For large collections, not all documents are shown.
Comparing Backups (Diff)
Compare two backups to see what changed:
- Select two backups from the same project
- Click Compare
- View the diff:
- Added documents
- Modified documents
- Deleted documents
Diff Output
+ users/user123 (added)
~ users/user456 (modified)
- email: old@example.com
+ email: new@example.com
- users/user789 (deleted)
Deleting Backups
Single Backup Deletion
- Navigate to the backup details
- Click Delete
- Confirm deletion
- Backup is removed from storage
Bulk Deletion
- Select multiple backups using checkboxes
- Click Delete Selected
- Confirm deletion
Deleted backups cannot be recovered. Ensure you have other backups before deleting.
Retention Policies
Configure automatic deletion based on retention policies:
- Time-based: Delete backups older than X days
- Count-based: Keep only the last X backups
- Size-based: Delete when total size exceeds X GB
See Storage for retention configuration.
Backup Encryption
Encryption at Rest
All backups are encrypted using AES-256-GCM:
- Algorithm: AES-256-GCM (AEAD)
- Key Derivation: PBKDF2 with SHA-256
- IV: Unique per backup
Encryption Key Management
Your encryption key is derived from:
- Organization encryption key - Set during setup
- Backup-specific salt - Unique per backup
Your encryption key is never transmitted to our servers. If you lose your key, encrypted backups cannot be recovered.
Changing Encryption Keys
To rotate encryption keys:
- Go to Settings > Security
- Click Rotate Encryption Key
- Existing backups remain encrypted with old key
- New backups use the new key
Backup Compression
Supported Algorithms
| Algorithm | Compression | Speed | Use Case |
|---|---|---|---|
| Brotli | Excellent | Medium | Default, best ratio |
| Gzip | Good | Fast | Compatibility |
| None | None | Fastest | Testing only |
Compression Comparison
Typical compression ratios for Firestore data:
| Algorithm | Ratio | Example |
|---|---|---|
| Brotli | 85-90% | 100MB → 10-15MB |
| Gzip | 80-85% | 100MB → 15-20MB |
Troubleshooting
"Backup Failed" Error
Common causes:
- OAuth token expired
- IAM permissions revoked
- Storage destination unavailable
- Network timeout
Solution:
- Check project connection status
- Verify storage destination is accessible
- Review error message in backup details
- Retry the backup
"Verification Failed" Error
Common causes:
- Backup file corrupted in storage
- Storage provider issues
- Encryption key mismatch
Solution:
- Check storage provider status
- Verify encryption key is correct
- Try downloading and re-uploading
Slow Backup Performance
Optimization tips:
- Exclude large, non-critical collections
- Use incremental backups after initial full backup
- Choose closer storage region
- Schedule during off-peak hours