Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sloonz/uback
Universal/Uniform Backup Tool
https://github.com/sloonz/uback
backup encrypted-backups incremental-backups mariadb s3
Last synced: 4 days ago
JSON representation
Universal/Uniform Backup Tool
- Host: GitHub
- URL: https://github.com/sloonz/uback
- Owner: sloonz
- License: unlicense
- Created: 2021-05-16T20:02:53.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-06-21T13:50:08.000Z (5 months ago)
- Last Synced: 2024-11-02T07:14:05.943Z (11 days ago)
- Topics: backup, encrypted-backups, incremental-backups, mariadb, s3
- Language: Go
- Homepage:
- Size: 455 KB
- Stars: 10
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# uback
There are many backup tools out there. Or should I say, there are may
backup *scripts* out there. Most of them will focus on a specific usage
(say, backup `btrfs` snapshots to a `sftp` server). All of them will
have different feature matrices (encryption/incremental backups/pruning)
and different means of configuration/deployment.![Situation: there is gogolplex backup tools...](https://imgs.xkcd.com/comics/standards.png)
`uback` try to solve this by defining a simple model of backup producers
(called "sources") and backup stores (called "destinations"), and writing
the intermediate between them once for all. One can now focus on writing
each specific source (`tar`, `mysqldump`, `btrfs`,...) or destination
(`s3`, `sftp`, local files,...) in a relatively straightforward
way. After that, from the point of view of the system administrator,
the configuration can be made in a uniform way accros different backup
workflows.Key features are encryption, compression, incremental backups (if the
source allow it) and retention policy.## Quickstart and Documentation
All the documentation is in the [doc/](doc/) directory. You should start
by the [tutorial](doc/tutorial.md) and then jump to advanced topics ([file
format](doc/file-format.md), [custom sources](doc/custom-sources.md),
[custom destinations](doc/custom-destinations.md),
[proxying](doc/proxy.md)) or the documentation specific to each source
or destination.## Supported Sources
* [tar](doc/src-tar.md)
* [mariabackup](doc/src-mariabackup.md): MariaDB backup system, supports
incremental backups
* [btrfs](doc/src-btrfs.md): btrfs snapshots## Supported Destinations
* [fs](doc/dest-fs.md): local filesystem
* [object-storage](doc/dest-object-storage.md): S3-compatible object
storage
* [btrfs](doc/dest-btrfs.md)## Current Status and Planned Features
`uback` is in a preliminary stage, quite lacking feature-wide, but fairly
stable with a good test suite. Here is a rough sketch of the roadmap :### 0.1
* [x] Core features:
* [x] Backups & Incremental Backups
* [x] Restoration
* [x] Encryption
* [x] Compression
* [x] Pruning/Retention Policy
* [x] Sources: `tar`, `mariabackup`
* [x] Destinations: local filesystem, S3 compatible object storage
* [x] Documentation
* [x] CI/Release Management### 0.2 (released)
* [x] Custom sources
* [x] Custom destinations### 0.3 (released)
* [x] switch to [age](https://age-encryption.org/) for encryption. This
will be the first (and hopefully the last) breaking change for the file
format and keys format.### 0.4 (released)
* [x] `btrfs` source
* [x] `btrfs` destination
* [x] remove mariabackup footguns
* [x] add the option to use a dockerized mariabackup in the restoration
process to have an exect version match
* [x] returns an error when attempting to create an incremental backup
based on a full backup created by a different version### 0.4.1 (released)
* [x] Fix a compatibility issue with MariaDB 11
### 0.5 (released)
* [x] Proxy support
### 0.6 (released)
* [x] Allow multiple public keys per backup
### 0.7
* [ ] FTP/SFTP support
### 0.8
* [ ] Should be suitable for production
### 1.0
* Community feedback