A CLI tool to manage and run your backups.
Most of the backup solutions out there are way to complex, this is why I've created this simple tool. It has a configuration file which contains all files or directories you want to back up and a different configuration file which contains the destinations where the backup should be placed in an rsync compatible format. When you start the backup there is a gzipped tarball created which then gets transferred to all remotes one by one. And that's it. No magic, no surprises.
The configuration files are placed in $XDG_CONFIG_HOME and the tarball is placed in $XDG_CACHE_HOME
Here is a table showing the different commands
| command | subcommand | description | example | 
|---|---|---|---|
| files | list | list all files | sback files list | 
| files | add | add a file | sback files add ./README.md | 
| files | remove | remove a file | sback files remove $PWD/README.md | 
| files | clean | sorts the file list and removes duplicates in case of manual editing | sback files clean | 
| remotes | list | list all remote | sback remotes list | 
| remotes | add | add a remote | sback remote add [email protected]:~/backup | 
| remotes | remove | remove a remote | sback remote remove [email protected]:~/backup | 
| run | - | executes the backup process | sback run | 
This tool uses rsync to transfer these files so you need rsync installed.
cargo install sback
Clone the repository and run cargo build --release and you should find the binary in ./target/release/sback.
Or grab a binary from the release page
- Fork this project
 - Create a branch
 - Provide a pull request
 
The CI will lint your commit message with commitlint.