Backup Schedules
Automated backup schedules ensure your Firebase data is protected without manual intervention. This guide covers creating, managing, and optimizing backup schedules.
Understanding Schedules
A backup schedule defines:
- When backups run (cron expression or interval)
- What to backup (project, collections)
- How to backup (full/incremental, compression, encryption)
- Where to store backups (storage destination)
Creating a Schedule
Step 1: Navigate to Schedules
- Click Schedules in the sidebar
- Click New Schedule
Step 2: Select Project
Choose which Firebase project to schedule backups for:
- Select from the project dropdown
- Only connected projects with valid credentials appear
Step 3: Configure Frequency
Preset Frequencies
Choose from common presets:
| Preset | Frequency | Use Case |
|---|---|---|
| Hourly | Every hour | High-change applications |
| Every 6 Hours | 4x daily | Active applications |
| Daily | Once per day | Standard protection |
| Weekly | Once per week | Low-change data |
| Monthly | Once per month | Archival purposes |
Custom CRON Expression
For advanced scheduling, use a CRON expression:
* * * * *
│ │ │ │ │
│ │ │ │ └─── day of week (0-6, Sun=0)
│ │ │ └───── month (1-12)
│ │ └─────── day of month (1-31)
│ └───────── hour (0-23)
└─────────── minute (0-59)
Examples:
| Expression | Description |
|---|---|
0 * * * * | Every hour at :00 |
0 0 * * * | Daily at midnight |
0 0 * * 0 | Weekly on Sunday at midnight |
0 2 * * * | Daily at 2:00 AM |
0 0 1 * * | Monthly on the 1st at midnight |
0 */4 * * * | Every 4 hours |
0 9-17 * * 1-5 | Hourly 9AM-5PM, Mon-Fri |
All schedules use UTC by default. Configure your organization's time zone in Settings.
Step 4: Configure Backup Options
| Option | Description | Recommendation |
|---|---|---|
| Backup Type | Full or Incremental | Mix both (see below) |
| Collections | Which to include | Start with all |
| Include Auth | Backup Auth users | Enable if needed |
| Storage | Destination | Organization default |
| Compression | Algorithm | Brotli |
| Encryption | Enable encryption | Always enabled |
Backup Type Strategy
Recommended strategy for optimal storage and recovery:
- Weekly Full Backup - Complete snapshot every Sunday
- Daily Incremental - Changes since last full backup
This provides:
- Fast daily backups (smaller size)
- Complete weekly snapshots
- Recovery from any day
Step 5: Set Retention Policy
Configure how long backups are kept:
| Policy | Description |
|---|---|
| Keep All | Never auto-delete |
| Keep Last N | Keep only last N backups |
| Keep N Days | Delete backups older than N days |
Ensure your retention period covers your recovery requirements. For compliance, consult your data retention policies.
Step 6: Review and Create
- Review all settings
- Click Create Schedule
- Schedule starts immediately (first backup at next scheduled time)
Managing Schedules
Schedule List
The schedules page shows all configured schedules:
| Column | Description |
|---|---|
| Name | Schedule identifier |
| Project | Target Firebase project |
| Frequency | Human-readable schedule |
| Next Run | When the next backup will start |
| Last Run | When the last backup completed |
| Status | Active or Paused |
Schedule Status
- Active (green) - Schedule is running normally
- Paused (yellow) - Schedule is disabled
- Error (red) - Last backup failed
Viewing Schedule Details
Click any schedule to view:
Overview Tab
- Schedule configuration
- Next scheduled run
- Recent backup history
History Tab
- List of all backups from this schedule
- Success/failure rates
- Average backup duration
Statistics
- Total Backups: Count of backups created
- Success Rate: Percentage of successful backups
- Average Size: Mean backup size
- Average Duration: Mean backup time
Editing Schedules
To modify an existing schedule:
- Navigate to the schedule
- Click Edit
- Modify settings
- Click Save
Changes take effect immediately. The next backup will use the new settings.
Pausing and Resuming
Pause a Schedule
Temporarily stop scheduled backups:
- Navigate to the schedule
- Click Pause
- Confirm
Use cases:
- During maintenance windows
- When investigating issues
- Temporary cost reduction
Resume a Schedule
Re-enable a paused schedule:
- Navigate to the schedule
- Click Resume
- Next backup runs at scheduled time
Manual Trigger
Run a scheduled backup immediately:
- Navigate to the schedule
- Click Run Now
- Backup starts immediately
This creates a backup using the schedule's configuration but doesn't affect the next scheduled run time.
Deleting Schedules
To remove a schedule:
- Navigate to the schedule
- Click Delete
- Confirm deletion
Deleting a schedule does NOT delete existing backups. To remove backups, delete them separately in the Backups page.
Schedule Statistics
Overview Statistics
View aggregate statistics across all schedules:
- Total Active Schedules: Number of enabled schedules
- Backups Today: Scheduled backups completed today
- Storage Used: Total storage from scheduled backups
- Success Rate: Overall success percentage
Per-Schedule Statistics
Each schedule tracks:
| Metric | Description |
|---|---|
| Total Runs | Number of times executed |
| Successful | Completed successfully |
| Failed | Encountered errors |
| Success Rate | Percentage successful |
| Avg Duration | Mean backup time |
| Avg Size | Mean backup size |
Best Practices
Frequency Selection
| Data Change Rate | Recommended Frequency |
|---|---|
| High (>1000 docs/hour) | Hourly |
| Medium (100-1000 docs/day) | Every 6 hours |
| Low (<100 docs/day) | Daily |
| Very Low (<10 docs/week) | Weekly |
Schedule Timing
- Off-peak hours: Schedule during low-traffic periods
- Stagger schedules: Don't run all at the same time
- Time zones: Consider global user base
Multiple Schedules
For comprehensive protection:
Schedule 1: Full backup, Weekly (Sunday 2AM)
Schedule 2: Incremental backup, Daily (2AM, except Sunday)
Schedule 3: PITR enabled for continuous protection
Collection-Specific Schedules
For large databases, create separate schedules:
Schedule A: Critical collections (users, orders), Hourly
Schedule B: Analytics collections, Daily
Schedule C: Logs collection, Weekly
Notifications
Configure notifications for schedule events:
Webhook Notifications
Receive webhooks on:
- Backup started
- Backup completed
- Backup failed
See Webhooks Integration for setup.
Slack Notifications
Get Slack messages for schedule events:
See Slack Integration for setup.
Troubleshooting
Schedule Not Running
Possible causes:
- Schedule is paused
- Previous backup still running
- OAuth token expired
- Worker service down
Solution:
- Check schedule status
- Review recent backup history
- Verify project connection
- Check system status page
Backups Taking Too Long
Possible causes:
- Large data volume
- Slow storage destination
- Network issues
Solution:
- Reduce collection scope
- Use incremental backups
- Choose closer storage region
- Schedule during off-peak hours
High Failure Rate
Possible causes:
- Insufficient IAM permissions
- Storage quota exceeded
- Network instability
Solution:
- Re-authenticate project
- Check storage destination
- Review error messages
- Contact support if persistent