首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >递归地将某些文件(不包括其他文件)忽略. .svn/目录

递归地将某些文件(不包括其他文件)忽略. .svn/目录
EN

Server Fault用户
提问于 2013-05-17 20:45:00
回答 1查看 2.5K关注 0票数 3

我使用rsync将一些文件从一个共享复制到另一个共享。

递归地,我需要:

  • 删除从原点删除的目标文件。
  • 只同步php和js文件
  • 排除所有其他文件类型
  • 不要删除目标处的.svn/目录

如果我用这个:

代码语言:javascript
运行
复制
rsync -zavC --delete --include='*.php' --include='*.js' --exclude="*" \
    /origiin /destination

那么rsync不是递归的,因为exclude="*"排除了所有文件,也排除了文件夹。

如果我添加--include="*/",那么.svn/目录就会被删除(它也会被包括在内)

我怎样才能解决这个心灵爆发的困境?

名为-a:

Linuxtux3.9.2-1-ARCH #1 SMP抢占5月11日20:31:08 CEST 2013 x86_64 GNU/Linux

rsync版本:

代码语言:javascript
运行
复制
rsync 3.0.9-6

提前感谢

EN

回答 1

Server Fault用户

回答已采纳

发布于 2013-05-17 23:20:06

好吧,经过几次尝试,我整理了一下:

代码语言:javascript
运行
复制
rsync -vaiz --delete --exclude=.svn/ --include='*.php' --include='*.js' \
    --include='*/' --exclude='*' --prune-empty-dirs \
    --filter "protect .svn/" /origin /destination

另一种方法

如果您不介意同步空脏,只需:

代码语言:javascript
运行
复制
rsync -vaiz --delete --exclude=.svn/ --include='*.php' --include='*.js' \
    --include='*/' --exclude='*' /origin /destination

关键是--exclude=.svn/--include's之前

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/508783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档