首页 > 解决方案 > rsync - 当有多个来源时如何排除文件夹?

问题描述

我正在尝试使用--exclude选项使用 rsync 备份多个目录。

我知道--exclude路径需要相对于源路径,但是当有多个源时会发生什么?

假设我要备份/home/user/source_aand /home/user/source_b,但要排除/home/user/source_a/something.

当我写--exclude=/something两者时会/home/user/source_a/something/home/user/source_b/something排除在外(如果有的话/home/user/source_b/something)?

标签: rsync

解决方案


我显然误解了你的问题 - 所以我的第一个回答版本是希望你想在两个来源中排除“某事”目录。我在那种情况下需要源上的尾部斜杠。

要仅排除/home/user/source_a/something (不是/home/user/source_b/something )作为您评论中的细化,您必须更高一级,以便 rsync 知道不同的来源。然后您的 rsync 命令将如下所示:

rsync -a --exclude=/source_a/something /home/user/source_a /home/user/source_b /target

只需删除源处的尾部斜杠,也会传输 source_a 和 source_b 目录本身。因此,现在可以从特定源中排除路径。


推荐阅读