feat: Pre-flight checks before backup starts #67

Closed
opened 2026-06-21 16:51:55 +00:00 by jmiller · 0 comments
Owner

Summary

Add a pre-flight validation phase that runs before starting a backup, catching common issues early with clear error messages instead of failing mid-backup.

Checks

  • Backup directory exists and is writable
  • Sufficient disk space (estimate based on last backup size + 20% buffer)
  • Required PHP extensions loaded (zip, curl for remote)
  • Remote storage credentials valid (quick auth test, not full upload)
  • Profile exclusion tables exist (warn if excluded table doesn't exist)
  • No other backup currently running for this profile

Files

  • src/Engine/BackupEngine.php — add preflight() method called before run()
  • src/Engine/SteppedBackupEngine.php — call preflight during init()
  • src/Controller/AjaxController.php — return preflight errors during init step
## Summary Add a pre-flight validation phase that runs before starting a backup, catching common issues early with clear error messages instead of failing mid-backup. ## Checks - Backup directory exists and is writable - Sufficient disk space (estimate based on last backup size + 20% buffer) - Required PHP extensions loaded (zip, curl for remote) - Remote storage credentials valid (quick auth test, not full upload) - Profile exclusion tables exist (warn if excluded table doesn't exist) - No other backup currently running for this profile ## Files - `src/Engine/BackupEngine.php` — add `preflight()` method called before `run()` - `src/Engine/SteppedBackupEngine.php` — call preflight during `init()` - `src/Controller/AjaxController.php` — return preflight errors during init step
jmiller added the component: engine label 2026-06-21 16:51:55 +00:00
Sign in to join this conversation.
Priority Medium
Type Feature
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/MokoSuiteBackup#67