[我不得不更改示例以明确说明有子目录。]
假设我想重新创建我的层次结构的一个子集。为了论证,假设我想备份 filelist.conf 中的文件
# cat rsync-list
ab*
bb*
Run Code Online (Sandbox Code Playgroud)
和
# find .
.
./abc
./abc/file-in-abc
./abd
./abd/file-in-abd
./aca
./bba
./bbc
./bca
./rsync-list
Run Code Online (Sandbox Code Playgroud)
我本来希望
rsync -arv --include-from=rsync-list --exclude='*' . /somewhere-else
Run Code Online (Sandbox Code Playgroud)
将重新创建 abc、abd、bba 和 bbc。问题在于它不会下降到 ab* 目录,因此它不会执行 abc/file-in-abc 和 abd/file-in-abd。所以,从这个意义上说,ab* 并不是一个真正的通配符,它被扩展为 abc 和 abd,然后被 rsync。
rsync ×1