强制rsync按照源文件参数中列出的顺序传输文件

Suk*_*tto 5 rsync cygwin

假设你有一个文件列表filelist.txt并像这样调用rynsc:

$rsync --files-from=filelist.txt /path/to/source /path/to/destination
Run Code Online (Sandbox Code Playgroud)

Rsync filelist.txt在处理文件之前对其进行排序.根据该man页面,这是为了提高传输效率.

我怎么把它关掉?我有一个案例,我希望以非常特定的顺序传输文件,我不在乎它是否使传输效率降低.

小智 4

cat filelist.txt | xargs -n1 -I{} rsync --progress "/path-from/{}" "/path-to/{}"
Run Code Online (Sandbox Code Playgroud)

这应该通过 xargs 将每个文件一次一行传递到 rsync。

您可以更换

cat xxx.txt
Run Code Online (Sandbox Code Playgroud)

ls -t | xargs ....
Run Code Online (Sandbox Code Playgroud)

如果你更喜欢。

事实上,令人烦恼的是,rsync 不使用您在列表中指定的顺序。