在Web服务器环境之间,我们有类似于以下内容的数据资产文件夹结构:
/Volumes/data-acct/assets/
├── audio
│ ├── section1
│ │ └── nested files and folders
│ └── section2
├── css
│ ├── section1
│ │ └── nested files and folders
│ └── section2
├── images
│ ├── section1
│ │ └── nested files and folders
│ └── section2
└── videos
├── section1
└── section2
我一直试图找到一个包含过滤器,允许我匹配每个区域的特定部分文件夹,虽然从--include="*/"
更改时没有结果(包括所有文件夹和--include="*/section1/**/*.*"
rsync --dry-run --verbose --recursive --update --include="*/section1/**/*.*" --exclude="*" /Volumes/data-acct/assets/ /Volumes/data-live/assets/
我应该为此运行几个命令吗?或者我应该使用--filters参数(似乎没有记录)
答案 0 :(得分:1)
我确信只使用rsync是一个很好的解决方案(因为它非常强大),但是如果有疑问我会喜欢这样的知名工具:
cd /Volumes/data-acct/assets &&
find . | # get all files
grep /section1/ | # that contain section1
grep -v videos/ | # but without videos
rsync --dry-run --verbose --recursive --update --files-from=- \
/Volumes/data-acct/assets/ /Volumes/data-live/assets/
--files-from选项允许您创建自己的自定义列表,而不使用任何rsync过滤器。