Usync is basic rsync wrapper controlled by a simple yaml file.
Usync searches the current and parent directories for a .usync file. This file defines a remote url and directory as well as any rsync exclude patterns.
usync <COMMAND> [OPTION...]
init
: Create a new .usync file in current directory.
push
: Push changes to remote source.
pull
: Pull changes from remote source.
-c, --config <FILE>
: Read config from FILE instead of .usync.
-D, --dry-run
: Perform dry run making no changes.
-V, --verbose
: Show rsync command.
-H, --help
: Display help and exit.
.usync - yaml file defining usync repo, contains the following keys:
url : Remote repo url. May be an ssh alias. Required.
dir : Remote directory. Must be a full path. Required.
port : Remote port. If blank, inherit from ssh alias, or port 22.
user : Remote user. If blank, inherit from ssh alias, or current user.
exclude
: List of patterns to exclude via rsync --exclude
option. See
FILTER RULES section of rsync manual.
- rsync
- ssh
- yq