46 lines
1.3 KiB
Markdown
46 lines
1.3 KiB
Markdown
# server-toolset
|
|
|
|
## many-rsync
|
|
|
|
rsync a set of folders to the remote in parallel.
|
|
|
|
### config
|
|
|
|
use TOML (preferred) or JSON.
|
|
|
|
```toml
|
|
# parallel rsync configuration
|
|
# remote_folder: full rsync-compatible remote path
|
|
# don't forget the trailing slash!
|
|
# /Users/foo/target/
|
|
# foo@bar:/home/foo/target/
|
|
remote_folder = ""
|
|
|
|
# local_folders: bare folder names (resolved relative to $HOME)
|
|
local_folders = ["a"]
|
|
|
|
# n: max parallel rsync processes (default: 2)
|
|
n = 2
|
|
|
|
# log_level: pick from DEBUG | INFO | WARNING | ERROR | CRITICAL
|
|
log_level = "INFO"
|
|
|
|
# use to pass arguments to the rsync binary running locally
|
|
# see rsync help/manpage for details
|
|
[rsync_parameters]
|
|
# --rsync-path
|
|
rsync_path = "/usr/bin/rsync"
|
|
|
|
# --exclude-from
|
|
exclude_from = ".rsync-exclude.txt"
|
|
```
|
|
|
|
- `remote_folder`: rsync-compatible full path to the target folder in remote. "remote" here means that it's the target of the operation, and could still reside on the local system.
|
|
- **do not forget to use the trailing slash!**
|
|
- `local_folders`: each folder to be copied over
|
|
- `n`: how many parallel rsync routines to be spawned
|
|
- `log_level`: self explanatory
|
|
- `rsync_parameters`: exposes local rsync binary's options
|
|
- `rsync_path`: specify the rsync to run on remote machine
|
|
- `exclude_from`: read exclude patterns from FILE
|