rsync include/exclude模式
2020-04-15 本文已影响0人
苦咖啡JerryKFC
目录结构:
./
├── d_a1/
│ ├── d_b1/
│ │ ├── d_c1/
│ │ │ ├── f.d1
│ │ │ └── f.d2
│ │ │ └── f.d3
│ │ ├── d_c2/
│ │ ├── f.c1
│ │ └── f.c2
│ │ └── f.c3
│ ├── d_b2/
│ │ ├── d_c1/
│ │ └── d_c2/
│ ├── f.b1
│ └── f.b2
│ └── f.b3
├── d_a2/
│ ├── d_b1/
│ │ ├── d_c1/
│ │ └── d_c2/
│ └── d_b2/
│ ├── d_c1/
│ └── d_c2/
├── f.a1
└── f.a2
└── f.a3
- 同步所有:
$ rsync -avz src/ dst/
- 只同步d_a1目录及其子路径:
$ rsync -avz --include='/d_a1/***' --exclude='*' src/ dst/
$ rsync -avz --include='/d_a1/' --exclude='/*' src/ dst/
- 只同步d_a1/d_b1目录及其子路径:
$ rsync -avz --include='/d_a1/' --include='/d_a1/d_b1/***' --exclude='*' src/ dst/
- 只同步第一层文件及目录,不包含子路径:
$ rsync -avz --include='/*' --exclude='*' src/ dst/
- 只同步前两层文件及目录,不包含子路径:
$ rsync -avz --include='/*' --include='/*/*' --exclude='*' src/ dst/
同步子路径,需要先把父目录include进来
- 只同步后缀为1的文件(会包括所有空目录)
$ rsync -avz --include='*.*1' --include='*/' --exclude='*' src/ dst/
- 不同步后缀为2的文件及目录
$ rsync -avz --exclude='*2' src/ dst/
- 不同步后缀为2的目录
$ rsync -avz --exclude='*2/' src/ dst/