zenstruck / backup
Library to create and archive backups
Fund package maintenance!
kbond
Installs: 9 348
Dependents: 2
Suggesters: 0
Security: 0
Stars: 24
Watchers: 4
Forks: 1
Open Issues: 1
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