我只想包含名为*cache*
的目录及其下的所有文件和子目录。
如何写rync --include --exclude
?
source dest
├── a │
├── b ├── b
│ └── d │ └── d
│ └── e │ └── e
│ └── cache │ └── cache
├── c ├── c
│ └── f │ └── f
│ └── npm_cache │ └── npm_cache
├── g ├── g
│ └── cache_stores │ └── cache_stores
├── h ├── h
│ └── cache │ └── cache
│ └── i │ └── i
│ └── j │ └── j
└── k │
└── l │
答案 0 :(得分:1)
这应该有效:
--include='*/'
--include='*cache*/**'
--exclude='*'
--prune-empty-dirs
说:
答案 1 :(得分:0)
我已经接受了ams的回答,但是,如果您不知道rsync --include --exclude
的语法(我不知道),请首先使用find
获取一个明确的文件列表。
cd source
find . | grep /.*cache.*/ | rsync --files-from=- source dest