B0_rsync
rsync
support.
val get :
?search:B0_std.Cmd.tool_search ->
?cmd:B0_std.Cmd.t ->
unit ->
(t, string) Stdlib.result
get ~search ~cmd ()
looks for the rsync command cmd
(defaults to Cmd.tool "rsync"
) in search
(defaults to Os.Cmd.get search
).
val copy :
t ->
?opts:B0_std.Cmd.t ->
?stats:bool ->
?progress:bool ->
delete:bool ->
?src_host:string ->
?dst_host:string ->
B0_std.Fpath.t ->
dst:B0_std.Fpath.t ->
(unit, string) Stdlib.result
copy src ~dst
copies the contents of directory src
to dst
with rsync
. As per rsync
semantics, directoryness of src
is important (dst
's one is not):
src
has a trailing directory separator, the contents src/*
is copied to dst/*
.src
has no trailing directory separator, the contents of src/*
is copied to dst/$(basename src)/*
.src_host
and dst_host
specify the host for source and destination directory (e.g. "myhost:"
). They default to ""
.
If delete
is true
, deletes files at destination that do not exist in src
. If stats
is true
(default to false
) outputs statistics about the transfer. If progress
is true
(default) outputs progress about the transfer. opts
defaults to -azh
, this means transfer in archive mode which preserves symlinks and file attributes and compression is enabled.