rsync 同步指定文件类型的文件
需求:本地 go 项目上传到测试服务器测试一段时间之后,本地项目又做了一部分修改,再次同步代码文件时,为了不破环已经配置好的配置文件等其他配置数据, 只是想把代码 go 代码重新同步, 而每次同步一个文件夹又比较麻烦,于是本地测试下这个可以同步本地目录及其子目录的 go 文件到测试服务器的指定目录的命令.
源文件夹 d2
-> % tree d2 d2 ├── a1 │ ├── a.go │ ├── a.txt │ └── b1 │ ├── b.go │ ├── b.txt │ └── c1 │ ├── c.go │ └── c.txt ├── a2 │ └── a.go ├── x.go └── x.txt 4 directories, 9 files
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
目的文件夹 d1
-> % tree d1
d1
0 directories, 0 files
1
2
3
4
1
2
3
4
将 d2 目录下的所有 .go 文件同步到 d1 下 (不包括子目录)
rsync -avrP --include '*.go' --exclude='*' d2/ d1/
- 1
- 1
同步后 d1 目录结果
-> % tree d1
d1
└── x.go
0 directories, 1 file
1
2
3
4
5
1
2
3
4
5
将 d2 目录及其子目录下的所有 .go 文件同步到 d1 目录及其子目录下
rsync -avrP --include '*.go' --include '*/' --exclude='*' d2/ d1/
- 1
- 1
同步后 d1 目录结果
-> % tree d1
d1
├── a1
│ ├── a.go
│ └── b1
│ ├── b.go
│ └── c1
│ └── c.go
├── a2
│ └── a.go
└── x.go
4 directories, 5 files
1
2
3
4
5
6
7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
赞 (0)