rsyncrepo script: allow optionally supplying target name
The `rsyncrepo` and `rsynchydra` scripts now support an optional 3rd argument to define the target name on the host instead of auto-determining it from the basename. This is important for syncing local directories of varying names all to the same `fc-nixos` target for dev checkouts on VMs.
This commit is contained in:
parent
cfa41acafc
commit
2e16c5e914
|
@ -29,7 +29,7 @@
|
|||
JUMPHOST="$DEFAULT_JUMPHOST"
|
||||
;;
|
||||
?)
|
||||
echo "rsyncrepo [-J] [-j <jumphost>] <directory> <hostname>"
|
||||
echo "rsyncrepo [-J] [-j <jumphost>] <directory> <hostname> [target dir name]"
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
|
@ -40,6 +40,7 @@
|
|||
|
||||
RR_FROM="$1"
|
||||
RR_TO="$2"
|
||||
RR_TARGET="$3"
|
||||
}
|
||||
|
||||
_do_rsync() {
|
||||
|
@ -57,8 +58,12 @@
|
|||
echo "$OPTI"
|
||||
done
|
||||
|
||||
# we always sync /path/to/dir/ to hostname:dir
|
||||
RR_DEST="''${2}:$(basename $(realpath "''${1}"))"
|
||||
# If no $3 is specified, we sync /path/to/dir/ to hostname:dir
|
||||
if [ -z "$3" ]; then
|
||||
RR_DEST="''${2}:$(basename $(realpath "''${1}"))"
|
||||
else
|
||||
RR_DEST="''${2}:''${3}"
|
||||
fi
|
||||
|
||||
echo "Syncing ''${1} to ''${RR_DEST}…"
|
||||
|
||||
|
@ -69,11 +74,11 @@
|
|||
rsyncrepo() {
|
||||
_parse_rsync_args "$@"
|
||||
# inherits parsed arguments through variables
|
||||
_do_rsync "$RR_FROM" "$RR_TO"
|
||||
_do_rsync "$RR_FROM" "$RR_TO" "$RR_TARGET"
|
||||
}
|
||||
|
||||
rsynchydra() {
|
||||
_parse_rsync_args "$@"
|
||||
_do_rsync "$RR_FROM" "hydra01"
|
||||
_do_rsync "$RR_FROM" "hydra01" "$RR_TARGET"
|
||||
}
|
||||
''
|
||||
|
|
Loading…
Reference in a new issue