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

时间:2012-09-24 20:45:25

标签: cygwin rsync

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

$rsync --files-from=filelist.txt /path/to/source /path/to/destination

Rsync在处理filelist.txt之前对文件进行排序。根据{{​​1}}页面,这是为了提高传输效率。

如何关闭它?我有一个案例,我希望以非常特定的顺序传输文件,我不在乎它是否会降低传输效率。

2 个答案:

答案 0 :(得分:4)

cat filelist.txt | xargs -n1 -I{} rsync --progress "/path-from/{}" "/path-to/{}"

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

您可以替换

cat xxx.txt

ls -t | xargs ....

如果你愿意的话。

确实rsync不会使用您在列表中指定的顺序。

答案 1 :(得分:3)

看起来有两个选择:

  • 一次做一个。
  • 补丁rsync

希望有更好的答案。需要仔细查看源代码才能准确显示它正在做什么,但它看起来是按字母顺序排列的。