gpt4 book ai didi

linux - rsync 将源目录嵌套在目标中,就像使用 --files-from 选项时没有尾部斜杠一样

转载 作者:太空宇宙 更新时间:2023-11-04 12:38:04 25 4
gpt4 key购买 nike

把我的头发拉到这里试图让它工作。这是详细信息和命令的示例。

我有一个名为 list.txt 的目录列表文件,内容如下所示:

HYTTCCCXX
海卫视NCCXX
HYV5TCCXX

我的 rsync 命令如下所示:rsync -av --recursive --files-from='/tmp/list.txt'/test/apple//destination/files/

问题是当我运行命令时,它包括/test/(这是 autofs 的顶层,因此实际上不包含任何内容)和要传输的文件中的 /test/apple/。导致文件被写入目标两次,就好像我在源中留下了尾部斜线一样。

因此目标以列表中的目录和源的另一个副本结束,例如:/目的地/文件/HYW22CCXX
/目的地/文件/HYTVNCCXX
/目的地/文件/HYV5TCCXX
/目的地/文件/测试/苹果/HYW22CCXX
/目的地/文件/测试/苹果/HYW22CCXX
/destination/files/test/apple/HYTVNCCXX

所以我最终得到了所有内容的 2 份副本。

我尝试了排除的所有组合,例如 --exclude='/test/apple/'--exclude='/test/*- -exclude='apple/* 尝试防止它被包含在内。但没有任何效果。

有什么想法吗?我发疯了试图弄清楚这一点。

谢谢!

最佳答案

这是因为 --files-from 选项意味着 --relative

引自 rsync 手册页,--files-from 部分:

The --relative (-R) option is implied, which preserves the path information that is specified for each item in the file (use --no-relative or --no-R if you want to turn that off).

尝试以下选项,看看是否有帮助:rsync -av --recursive --no-relative --files-from='/tmp/list.txt'/test/apple//destination/files/

关于linux - rsync 将源目录嵌套在目标中,就像使用 --files-from 选项时没有尾部斜杠一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41083890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com