温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Linux用cp和rsync同步文件时怎么跳过指定目录

发布时间:2022-04-16 15:17:16 来源:亿速云 阅读:477 作者:iii 栏目:开发技术

这篇文章主要介绍“Linux用cp和rsync同步文件时怎么跳过指定目录”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux用cp和rsync同步文件时怎么跳过指定目录”文章能帮助大家解决问题。

需求是:某测试站点,在某个节点的时候需要同步到正式站点去,但是里面的config目录不能覆盖
方法一:终端命令行下执行以下命令
cp -r `find /projecta -type d -path /projecta/common/config -prune -o -print | sed 1d ` /projectb/
方法二:
localhost # find projectb/ommon/config | xargs touch 修改目标目录的congfig目录文件的access time到当前,这样cp的时候加update参数可以避开该目录
localhost # cp -r -u -v projecta/* projectb/ 这样不会复不复制projecta下面第一级的隐藏目录,但是二级三级的还是会复制过去
所以适用于没有隐藏目录的情况下,比较方便.
但是我们的项目因为牵涉svn什么的,所以会有很多隐藏目录包含版本控制信息,就会很乱,所以有了第二种方案
方法三:
rsync -vaup --exclude=".*“ --exclude=”common/config“ projecta/ projectb
简单注释下
-a 参数,相当于-rlptgod,-r 是递归 -l 是链接文件,意思是拷贝链接文件;-p 表示保持文件原有权限;-t 保持文件原有时间;-g 保持文件原有用户组;-o 保持文件原有属主;-d 相当于块设备文件;
-p 传输进度;
-v 冗余模式,查看到文件列表等
-u update模式,如果目标文件新于源文件,则跳过
第一个exclude表示跳过所有.开头的隐藏文件
第二个表示调过projecta/common/config目录,因为config目录下的文件,轻易不需改变,如果需要手动调整即可,注意这个参数是后面src参数的相对路径                                            

关于“Linux用cp和rsync同步文件时怎么跳过指定目录”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI