13

我有一个包含文件和目录的目录。我想要的是从该目录制作几个文件夹的 rsync 副本。例如,假设我有这个:

/home/user
-- drwxr-xr-x  folderA
-- drwxr-xr-x  folderB
-- drwxr-xr-x  folderC
-- -rw-r--r--  file.1
-- -rw-r--r--  file.2

我想使用 rsync 复制文件夹 A 和文件夹 B。我创建了文件 rsync_folders.txt

+ /folderA/**
+ /folderB/**

我的问题是 rsync 将始终复制文件,除非它与排除模式匹配。但是如果我添加

- /**

没有任何内容被复制,因为 rsync 首先匹配排除模式。

有任何想法吗?

注意:我无法列出要排除的所有文件夹和文件。它会不时改变。

4

1 回答 1

18

使用rsync -av src1 src2 src3 ... dst或将所有要 rsync 的文件夹放在一个文本文件中(每个文件夹在一个单独的行中)并使用rsync -arv --files-from=sources.txt dst.
请注意,默认情况下-a暗示--recursive但不是何时--files-from使用,因此在这种情况下-r必须明确指定。

于 2009-07-27T09:04:41.147 回答