如何在根目录中使用 rsync 排除文件夹?

如何在根目录中使用 rsync 排除文件夹?

我有一项rsync任务,想要排除我的./js/文件夹。因此我使用:

--exclude js

现在发生的情况是,不仅是./js/文件夹,而且虽然./assets/js/文件夹也不会同步。如何告诉 rsync 仅排除根文档中的文件夹?

答案1

您需要将目录名称绑定到树的顶部。这在rsync 手册页在该部分下过滤规则

如果模式以 开头,/那么它将锚定到文件层次结构中的特定位置,否则它将与路径名的末尾进行匹配。

所以你需要使用/js,例如像这样:

rsync -av --exclude /js {src} {dst}

相关内容