Awesome
zenstruck/backup
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