A collection of CLI executable npm packages which backup/restore databases to/from Cloud storage services like Amazon S3 or Google Cloud Storage.
- Backup and restore for multiple database types (MongoDB, PostgreSQL, MariaDB, File)
- Support for major cloud storage services (S3, GCS)
- Streaming mode for efficient large data transfers
- Cron scheduling for automated backups
- Docker support for containerized environments
This project is organized as a monorepo with the following directory structure:
apps/
: Applications for each database typeawesome-*-backup/
: User-facing packages (with README, etc.)*-backup/
: Backup command implementations*-restore/
: Restore command implementationslist/
: Command implementation for listing files in a bucketprune/
: Command implementation for deleting old backup files
packages/
: Shared packagescommands/
: Common command functionalitystorage-service-clients/
: Storage service clients*-test/
: Test utilities
docker/
: Docker image related filesmisc/
: Miscellaneous utilities
Refer to the README corresponding to the database you are using:
- For MongoDB, use awesome-mongodb-backup
- For PostgreSQL, use awesome-postgresql-backup
- For MariaDB, use awesome-mariadb-backup
- For File backups, use awesome-file-backup
- From weseek/mongodb-awesome-backup, use awesome-mongodb-backup
- From weseek/mariadb-awesome-backup, use awesome-mariadb-backup
For information on contributing to this project, please see CONTRIBUTING.
For a detailed understanding of the project architecture, see ARCHITECTURE.