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 backup-user@12.98.34.76:~/backup |
remotes | remove | remove a remote | sback remote remove backup-user@12.98.34.76:~/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.