B00_rsync
rsync
support.
val get_cmd : ?search:B00_std.Fpath.t list -> ?cmd:B00_std.Cmd.t -> unit -> (B00_std.Cmd.t, string) result
get_cmd ()
looks for rsync
with Os
.Cmd.get.
val copy : ?opts:B00_std.Cmd.t -> ?stats:bool -> delete:bool -> ?src_host:string -> src:B00_std.Fpath.t ->
?dst_host:string -> B00_std.Fpath.t -> (unit, string) 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) outputs statistics about the transfer. opts
defaults to -azh
, this means transfer in archive mode which preserves symlinks and file attributes and compression is enabled.