Expand description
Incremental Backup System
Provides efficient backups with only changed events, reducing storage requirements and backup times.
§Example
use azoth::prelude::*;
use azoth::incremental_backup::{IncrementalBackup, IncrementalBackupConfig, BackupRetention};
use std::time::Duration;
use std::sync::Arc;
let db = Arc::new(AzothDb::open("./data")?);
let config = IncrementalBackupConfig {
full_backup_interval: Duration::from_secs(86400), // Daily full backup
incremental_interval: Duration::from_secs(3600), // Hourly incrementals
compression: true,
encryption_key: None,
retention: BackupRetention {
full_backups: 7, // Keep last 7 full backups
incremental_days: 30, // Keep incrementals for 30 days
},
backup_dir: "./backups".into(),
};
let backup_mgr = IncrementalBackup::new(db.clone(), config);
// Create backup (automatically chooses full or incremental)
backup_mgr.create_backup().await?;
// Restore to specific event
backup_mgr.restore_to_event(12345).await?;Structs§
- Backup
Retention - Backup retention policy
- Incremental
Backup - Incremental backup manager
- Incremental
Backup Config - Incremental backup configuration
- Incremental
Backup Manifest - Incremental backup manifest
Enums§
- Backup
Type - Backup type