zenstruck / backup
Library to create and archive backups
                                    Fund package maintenance!
                                                                            
                                                                                                                                        kbond
                                                                                    
                                                                
Installs: 10 816
Dependents: 2
Suggesters: 0
Security: 0
Stars: 24
Watchers: 2
Forks: 2
Open Issues: 3
pkg:composer/zenstruck/backup
Requires
- php: >=8.0
- psr/log: ^1.0|^2.0|^3.0
- symfony/filesystem: ^5.4|^6.0|^7.0
Requires (Dev)
- league/flysystem: ^1.1.9
- phpunit/phpunit: ^9.6
- symfony/console: ^5.4|^6.0|^7.0
- symfony/finder: ^5.4|^6.0|^7.0
- symfony/phpunit-bridge: ^6.4|^7.0
- symfony/process: ^5.4|^6.0|^7.0
README
Create and archive backups. A Symfony Bundle and a Laravel package is available that wraps this library.
An "executor" takes a backup profile and processes it. A backup "profile" consists of 4 parts:
- Source(s): What to backup (ie database/files). The source fetches files and copies them to a "scratch" directory. These files are typically persisted between backups (improves rsync performance) but can be cleared by the "executor".
- Processor: Convert to a single file (ie zip/tar.gz). This step uses a Namer to name the file.
- Namer: Generates a filename to be used by the above processor.
- Destination: Where to send the backup (ie filesystem/S3).
Installation
- 
Install this library: composer require zenstruck/backup
- 
(Optional) Install process (used by some Destinations, Sources and Processors): composer require symfony/process
- 
(Optional) Install console (for the console command): composer require symfony/console