mirror of
https://github.com/RsyncProject/rsync.git
synced 2026-04-27 17:52:05 -04:00
Mention the latest way to specify multiple remote args.
This commit is contained in:
38
rsync.yo
38
rsync.yo
@@ -149,33 +149,29 @@ See the following section for more details.
|
||||
|
||||
manpagesection(ADVANCED USAGE)
|
||||
|
||||
The syntax for requesting multiple files from a remote host involves using
|
||||
quoted spaces in the SRC. Some examples:
|
||||
The syntax for requesting multiple files from a remote host is done by
|
||||
specifying additional remote-host args in the same style as the first,
|
||||
or with the hostname omitted. For instance, all these work:
|
||||
|
||||
quote(tt(rsync host::'modname/dir1/file1 modname/dir2/file2' /dest))
|
||||
quote(tt(rsync -av host:file1 :file2 host:file{3,4} /dest/)nl()
|
||||
tt(rsync -av host::modname/file{1,2} host::modname/file3 /dest/)nl()
|
||||
tt(rsync -av host::modname/file1 ::modname/file{3,4}))
|
||||
|
||||
This would copy file1 and file2 into /dest from an rsync daemon. Each
|
||||
additional arg must include the same "modname/" prefix as the first one,
|
||||
and must be preceded by a single space. All other spaces are assumed
|
||||
to be a part of the filenames.
|
||||
Older versions of rsync required using quoted spaces in the SRC, like these
|
||||
examples:
|
||||
|
||||
quote(tt(rsync -av host:'dir1/file1 dir2/file2' /dest))
|
||||
quote(tt(rsync -av host:'dir1/file1 dir2/file2' /dest)nl()
|
||||
tt(rsync host::'modname/dir1/file1 modname/dir2/file2' /dest))
|
||||
|
||||
This would copy file1 and file2 into /dest using a remote shell. This
|
||||
word-splitting is done by the remote shell, so if it doesn't work it means
|
||||
that the remote shell isn't configured to split its args based on
|
||||
whitespace (a very rare setting, but not unknown). If you need to transfer
|
||||
a filename that contains whitespace, you'll need to either escape the
|
||||
whitespace in a way that the remote shell will understand, or use wildcards
|
||||
in place of the spaces. Two examples of this are:
|
||||
This word-splitting still works (by default) in the latest rsync, but is
|
||||
not as easy to use as the first method.
|
||||
|
||||
quote(
|
||||
tt(rsync -av host:'file\ name\ with\ spaces' /dest)nl()
|
||||
tt(rsync -av host:file?name?with?spaces /dest)nl()
|
||||
)
|
||||
If you need to transfer a filename that contains whitespace, you can either
|
||||
specify the bf(--protect-args) (bf(-s)) option, or you'll need to escape
|
||||
the whitespace in a way that the remote shell will understand. For
|
||||
instance:
|
||||
|
||||
This latter example assumes that your shell passes through unmatched
|
||||
wildcards. If it complains about "no match", put the name in quotes.
|
||||
quote(tt(rsync -av host:'file\ name\ with\ spaces' /dest))
|
||||
|
||||
manpagesection(CONNECTING TO AN RSYNC DAEMON)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user