gpt4 book ai didi

linux - rsync 递归并排除特定目录的内容,而不是目录

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

我有一个像这样的目录树:

dir1/
file11
file12
file13
...
file1548216479524594
dir2/
file21
file22
dir3/
dir31/
file311
file312
dir32/
file321

我想rsync整个目录树,但不包含目录dir1的内容。

如果我使用基本的rsync命令:

rsync --progress -v -ar --delete --exclude="dir1/*" src/ dst/<br>

它有效。但是如果我在执行之前使用 -n 进行空运行,它会持续很长时间,因为 dir1 包含很多文件(我不知道为什么在空运行期间它列出了所有文件,甚至是排除的文件)。

如果我使用 --exclude="dir1/",空运行速度很快,但我没有目录树。

如何在整个目录树中排除 dir1 的所有内容,快速进行 rsync 空运行(避免递归地使用数量非常多的 dir1 文件)?

最佳答案

在 rsync 的最新版本中,您可以使用 -F 选项并在 src 目录中放置一个文件“.rsync-filter”,其中包含:

- dir1/***

这似乎对我有用。我假设您上面的层次结构全部位于“src/”下。

关于linux - rsync 递归并排除特定目录的内容,而不是目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17522468/

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