Skip to content

feat: Add automated backup system v1.4.0

Choose a tag to compare

@danbaileyza danbaileyza released this 25 Feb 12:49
· 13 commits to main since this release
- Implement automated backup polling every 5 minutes
- Add pure PHP database exporter (no mysqldump dependency)
- Create ZIP archive with database and optional uploads
- Upload to ErrorVault API with retry logic and checksum
- Add transient locking to prevent concurrent backups
- Implement comprehensive error handling and logging
- Add helper utilities for status, logs, and diagnostics
- Include extensive documentation (implementation, quick start, user guide)

API Integration:
- GET /api/v1/backups/pending - Poll for pending backups
- POST /api/v1/backups/{id}/upload - Upload backup archive

Features:
- Database-only or database + uploads backups
- 500MB file size limit validation
- SHA256 checksum generation
- Automatic cleanup of temporary files
- Batched database export (100 rows per batch)
- Exponential backoff retry logic (2 retries max)
- Shared hosting compatible

Classes Added:
- EV_Backup_Manager - Main backup orchestration
- EV_DB_Exporter - Database export functionality
- EV_Cron - Cron job management
- EV_Backup_Helpers - Utility functions

Documentation:
- BACKUP_IMPLEMENTATION.md - Technical documentation
- BACKUP_QUICK_START.md - Quick reference guide
- README_BACKUP.md - User guide
- IMPLEMENTATION_SUMMARY.md - Implementation overview