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.