Skip to main content

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

  1. Click Schedules in the sidebar
  2. Click New Schedule

Step 2: Select Project

Choose which Firebase project to schedule backups for:

  1. Select from the project dropdown
  2. Only connected projects with valid credentials appear

Step 3: Configure Frequency

Preset Frequencies

Choose from common presets:

PresetFrequencyUse Case
HourlyEvery hourHigh-change applications
Every 6 Hours4x dailyActive applications
DailyOnce per dayStandard protection
WeeklyOnce per weekLow-change data
MonthlyOnce per monthArchival 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:

ExpressionDescription
0 * * * *Every hour at :00
0 0 * * *Daily at midnight
0 0 * * 0Weekly 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-5Hourly 9AM-5PM, Mon-Fri
Time Zone

All schedules use UTC by default. Configure your organization's time zone in Settings.

Step 4: Configure Backup Options

OptionDescriptionRecommendation
Backup TypeFull or IncrementalMix both (see below)
CollectionsWhich to includeStart with all
Include AuthBackup Auth usersEnable if needed
StorageDestinationOrganization default
CompressionAlgorithmBrotli
EncryptionEnable encryptionAlways enabled

Backup Type Strategy

Recommended strategy for optimal storage and recovery:

  1. Weekly Full Backup - Complete snapshot every Sunday
  2. 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:

PolicyDescription
Keep AllNever auto-delete
Keep Last NKeep only last N backups
Keep N DaysDelete backups older than N days
Retention and Recovery

Ensure your retention period covers your recovery requirements. For compliance, consult your data retention policies.

Step 6: Review and Create

  1. Review all settings
  2. Click Create Schedule
  3. Schedule starts immediately (first backup at next scheduled time)

Managing Schedules

Schedule List

The schedules page shows all configured schedules:

ColumnDescription
NameSchedule identifier
ProjectTarget Firebase project
FrequencyHuman-readable schedule
Next RunWhen the next backup will start
Last RunWhen the last backup completed
StatusActive 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:

  1. Navigate to the schedule
  2. Click Edit
  3. Modify settings
  4. Click Save
Schedule Changes

Changes take effect immediately. The next backup will use the new settings.

Pausing and Resuming

Pause a Schedule

Temporarily stop scheduled backups:

  1. Navigate to the schedule
  2. Click Pause
  3. Confirm

Use cases:

  • During maintenance windows
  • When investigating issues
  • Temporary cost reduction

Resume a Schedule

Re-enable a paused schedule:

  1. Navigate to the schedule
  2. Click Resume
  3. Next backup runs at scheduled time

Manual Trigger

Run a scheduled backup immediately:

  1. Navigate to the schedule
  2. Click Run Now
  3. 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:

  1. Navigate to the schedule
  2. Click Delete
  3. Confirm deletion
Backup Retention

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:

MetricDescription
Total RunsNumber of times executed
SuccessfulCompleted successfully
FailedEncountered errors
Success RatePercentage successful
Avg DurationMean backup time
Avg SizeMean backup size

Best Practices

Frequency Selection

Data Change RateRecommended 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

  1. Off-peak hours: Schedule during low-traffic periods
  2. Stagger schedules: Don't run all at the same time
  3. 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:

  1. Schedule is paused
  2. Previous backup still running
  3. OAuth token expired
  4. Worker service down

Solution:

  1. Check schedule status
  2. Review recent backup history
  3. Verify project connection
  4. Check system status page

Backups Taking Too Long

Possible causes:

  1. Large data volume
  2. Slow storage destination
  3. Network issues

Solution:

  1. Reduce collection scope
  2. Use incremental backups
  3. Choose closer storage region
  4. Schedule during off-peak hours

High Failure Rate

Possible causes:

  1. Insufficient IAM permissions
  2. Storage quota exceeded
  3. Network instability

Solution:

  1. Re-authenticate project
  2. Check storage destination
  3. Review error messages
  4. Contact support if persistent

Next Steps