This document explains the usage of the backup-rat binary
Requires a standard Rust installation (If you dont have it get it here)
$ cargo install backup_rat
Clone the project
$ git clone "https://github.com/System-rat/backup-rat.git"
Enter the directory
$ cd backup-rat
Install from the source
$ cargo install --path .
Currently the binary REQUIRES a config file to operate correctly (or not if you don't want any targets but that kinda defeats the purpose).
Backs up all NON-optional targets in the config file
$ backup-rat backup
Backs up all targets with the "Config" tag
$ backup-rat backup Config
Generate the completions for various shells
$ backup-rat completion bash
The config file is located at $HOME/.config/backup-rat/config.toml
for *NIX systems
or %HOME%/AppData/Roaming/System.rat/backup-rat/config.toml
for Windows,
$HOME/Library/Preferences/com.System.rat.backup-rat/config.toml
for OSX and uses the TOML
syntax (basically .ini files)
All of the Optional variables are set to defaults in this example
NYI - Not yet implemented (don't use it, there is no need)
```ini
daemon_interval = 0
color = false
fancy_text = true
verbose = false
runtime_folder = ""
[[target]]
tag = "Config"
path = "/etc"
target_path = "/mnt/Backup"
optional = false
always_copy = false
ignore_files = [ 'r#.*.ba(c|k)', '.build' ]
ignore_files
except it evaluates the folder path relativeignore_folders = [ 'r#temp$', 'build' ]
keep_num
number of subdirectories with the date of the backup askeep_num
is greater than 1.keep_num
is greater than 1, always_copy is ignored as it will always create a new directory.keep_num = 2
[[target]] tag = "Config" path = "/home/USERNAME/.config" target_path = "/mnt/Backup/Config"
```