分享

rsync 同步指定文件类型的文件

 快来看看咯 2021-07-23

需求:本地 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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多