Crates.io | sback |
lib.rs | sback |
version | 0.3.0 |
source | src |
created_at | 2023-02-21 22:57:06.778568 |
updated_at | 2023-03-02 18:33:13.626763 |
description | A CLI tool to manage and run your backups. |
homepage | https://github.com/mstruebing/sback |
repository | https://github.com/mstruebing/sback |
max_upload_size | |
id | 791151 |
size | 33,979 |
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
The CI will lint your commit message with commitlint.