需求是:某测试站点,在某个节点的时候需要同步到正式站点去,但是里面的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同步文件时跳过指定目录的方法
2020-11-19 16:46Linux教程网 Linux
某测试站点,在某个节点的时候需要同步到正式站点去,但是里面的config目录不能覆盖,本文就来讲讲Linux 用cp和rsync同步文件时跳过指定目录的方法
延伸 · 阅读
- 2024-11-03晨报:《龙腾4》Steam“多半好评” 《Apex》不再支
- 2022-03-11在Linux下通过命令行打包Android应用的方法
- 2022-03-10这个 Linux 图形计算器让数学很有趣
- 2022-03-10Linux下部署springboot项目的方法步骤
- 2022-03-10linux中把.c的文件编译成.so文件
- 2022-03-10Linux服务器下安装配置Nginx的教程
- Linux
在Linux系统下更改桌面分辨率的方法
这篇文章主要介绍了在Linux系统下更改桌面分辨率的方法,需要的朋友可以参考下 ...
- Linux
linux查找可执行文件的方法
这篇文章主要介绍了linux查找可执行文件的方法,需要的朋友可以参考下 ...
- Linux
终端基础:Linux 终端中的目录切换
Linux 的 cd 命令让你可以轻松切换文件夹(即目录)。只需提供你要切换到的文件夹路径即可。 cd path_to_directory 然而对于 Linux 新人来说,可能会在路径的指...
- Linux
Linux crontab 命令的使用
这篇文章主要介绍了Linux crontab 命令的使用,帮助大家更好的理解和学习Linux系统,感兴趣的朋友可以了解下...
- Linux
记一次生产线系统磁盘扩容的步骤之超详细的lvm步骤
数据库负责人反馈ogg同步中断,监控告警触发系统磁盘空间不足,需尽快扩容。下面介绍扩容的详细步骤。...
- Linux
Linux平台下生成C语言数据结构关系图
作为一名Linux系统下的C语言开发,经常需要阅读源码,但是有些源码实在是难以阅读,各种庞大的结构体交杂,分分钟把你绕晕,让你头昏眼花,迟迟无法...
- Linux
Linux怎么设置环境变量
本文主要讲解如何在Linux系统中设置环境变量。当您在Linux命令行上键入命令时,您实际是在告诉shell运行指定名称的可执行文件。在Linux中,这些可执行程...
- Linux
深入理解Linux修改hostname(推荐)
这篇文章主要介绍了深入理解Linux修改hostname(推荐),具有一定的参考价值,有兴趣的可以了解一下。...