frcho/backup-manager
Laravel package for backing up application databases and files to local or remote disks such as Amazon S3, Dropbox, and FTP. Configure multiple backup profiles, schedule automated backups, and restore data quickly with simple Artisan commands. Handles database dumps and directory archives.
Architecture fit
Storage facade abstraction.Integration feasibility
php to the 5.5–7.x range plus symfony/console 2.x, league/flysystem 1.x, and an AWS SDK generation that conflicts with current Laravel. On a Laravel 10/11 app running PHP 8.2+, composer require will almost certainly fail; making it work is a fork-and-modernize project, not a dependency addition.Technical risk
mysqldump/pg_dump, credential redaction in logs and exception traces, retention/deletion semantics, and encryption-at-rest are all unverified. Each is a plausible incident vector.Key questions
backup-manager?spatie/laravel-backup plus a Laravel disk cannot satisfy? If not, the evaluation ends here.Stack fit
| Concern | frcho/backup-manager | Laravel-native alternative |
|---|---|---|
| Framework integration | Symfony2-era service provider, Console commands | spatie/laravel-backup, auto-discovery, backup:run / backup:monitor |
| Storage targets | Bundled Flysystem 1.x adapters | Laravel disks (S3, SFTP, FTP) with maintained adapters |
| Scheduling | Manual/cron | Schedule::command('backup:run') |
| Observability | None | Events, notifications, health checks |
| Restore | Unclear/none | Documented restore path |
| Maintenance | Forked, unmaintained | Actively released |
Migration path
composer require frcho/backup-manager in a throwaway Laravel 11 app against our target PHP version and record the resolver output. Expect a dependency conflict; that artifact is the decision memo.spatie/laravel-backup. Configure S3/SFTP destinations as Laravel disks, add backup:run and backup:monitor to the scheduler, and wire notifications into existing alerting.Compatibility
Sequencing
spatie/laravel-backup as the standard and retire this option (1 week, including ADR).Maintenance
Support
Scaling
mysqldump holds table locks and competes for IO on large datasets, so window duration scales with database size and will eventually collide with peak traffic.Failure modes
Ramp-up
How can I help you explore Laravel packages today?