rsync_filter

rsync的filter有两种写法,一种是使用–filter=”+ xxx”(可以连续使用多个),一种是写一个filter.txt然后使用

-include-from=filter.txt

注意多个filter的规则如果有冲突是有先后顺序的。

如果文件目录结构如下:

├── dir1
├── dir2
├ ├── 0000
├ │   └── a.jpg
├ └── 0001
├ ├── a.jpg
├ └── b.jpg
├── dir3
├ ├── 0000
├ │   └── a.jpg
├ └── 0001
├ ├── a.jpg
├ └── b.jpg
└── dir_d
├── 0000
│   └── a.jpg
└── 0001
├── a.jpg
└── b.jpg

如果我只想同步目录dir_d下的文件,filter.txt写法

+ */
+ dir_d/**
- *

如果我只想同步所有的0000下的文件,filter.txt写法

+ */

+ **/0000/**

- *

注意:虽然你设置了filter规则,但是不被同步的目录依然会在dst创建一个空的文件夹,如果不想让rsync创建这些文件夹可以添加:

--prune-empty-dirs

Reference

Add a Comment

电子邮件地址不会被公开。 必填项已用*标注

8 + 16 =