cp备份操作时如何忽略指定的目录
需求场景:进行CP拷贝备份的时候,子目录里面的某些大文件或是一些log文件是无需备份的,那么在CP操作时需要忽略掉指定的目录。
案例演示如下:备份data目录,但是不包括里面的share子目录。
先看一下data目录都包括什么文件:
$ tree data
data
├── control
├── debian-binary
├── md5sums
├── postinst
├── prerm
└── usr
├── bin
│ ├── mime-tool
│ └── topal
└── share
├── doc
│ └── topal
│ ├── changelog.Debian.gz
│ ├── changelog.gz
│ ├── changelog.html.gz
│ ├── copyright
│ ├── Features.html
│ ├── README.Debian
│ └── topal.pdf.gz
├── man
│ └── man1
│ ├── mime-tool.1.gz
│ └── topal.1.gz
└── topal
└── patches
├── alpine-1.00.patch
├── alpine-1.10.patch
├── alpine-2.00.patch-1
├── alpine-2.00.patch-2
├── alpine-2.02.patch-1
├── alpine-2.02.patch-2
├── pine-4.44.patch
├── pine-4.50.patch
├── pine-4.53.patch
├── pine-4.58.patch
├── pine-4.60.patch
└── pine-4.64.patch 9 directories, 28 files
操作指令:
$ cd data/
$ find . -iname share -prune -o -print0 | cpio -pmd0 /tmp/data3/
然后查看拷贝的目录机构:
$ tree /tmp/data3
/tmp/data3
├── control
├── debian-binary
├── md5sums
├── postinst
├── prerm
└── usr
└── bin
├── mime-tool
└── topal 2 directories, 7 files
发现share子目录被完美的忽略掉了。
注意:一定要cd到data/目录下操作,否则拷贝后在目标目录会带上data/这一层。
另外,根据实际需求,还有更高级的组合用法,如:
$ find . -iname share -prune -o ! -name '*log*' ! -size +100M -print0 | cpio -pmd0 /tmp/data2
该指令不仅会忽略share子目录,还会忽略名称中包涵“log”字符串的文件或文件夹,以及忽略大于100M的文件。
cp备份操作时如何忽略指定的目录的更多相关文章
- cp -rf 操作时依然会提示覆盖
在linux上经常会使用cp -rf命令,该命令就是强制覆盖指定目录下的文件,但有时使用该命令依然会提示是否覆盖,cp命令的参数有如下一些: 参数说明: -a:此选项通常在复制目录时使用,它保留链接. ...
- 发布web项目时,忽略指定文件夹或文件
参考:http://blogs.msdn.com/b/webdev/archive/2010/04/22/web-deployment-excluding-files-and-folders-via- ...
- tar命令: 对某目录文件打tar包时,排除指定的目录或文件
如某当前目录存在以下文件或目录: 1.txt2.txt3.txtdir1dir2my2015.tarmy2016.tar 若要对当前目录除1.txt 和dir1.tar外,打包tar 步骤一.建立e ...
- IPC操作时IPC_CREAT和IPC_EXCL选项的说明
IPC(包括消息队列,共享内存,信号量)的xxxget()创建操作时,可以指定IPC_CREAT和IPC_EXCL选项.以共享内存为例:当只有IPC_CREAT选项打开时,不管是否已存在该块共享内存, ...
- git提交时忽略指定文件
git提交时忽略指定文件 我们在项目开发过程中经常用到git来管理自己的项目,使用git版本控制进行多人协作开发具有许多优势,这里就不一一阐述了,有兴趣的同学可以自己去查找资料进行系统的学习.而本篇文 ...
- 挖一挖MongoDB的备份与还原(实现指定时间点还原和增量备份还原)
一 研究背景需求 目前作者所在公司的MongoDB数据库是每天凌晨做一次全库完整备份,但数据库出现故障时,只能保证恢复到全备时间点,比如,00:30 做的完整备份,而出现故障是下午18:00,那么现 ...
- Linux下通过脚本自动备份Oracle数据库并删除指定天数前的备份
说明: Oracle数据库服务器操作系统:CentOSIP:192.168.0.198端口:1521SID:orclOracle数据库版本:Oracle11gR2 具体操作: 1.root用户登录服务 ...
- Percona Xtrabackup备份mysql全库及指定数据库(完整备份与增量备份)
原文地址:http://www.tuicool.com/articles/RZRnq2 Xtrabackup简介 Percona XtraBackup是开源免费的MySQL数据库热备份软件,它能对In ...
- SQLSERVER数据库备份操作和还原操作做了什么
SQLSERVER数据库备份操作和还原操作做了什么 看了这篇文章:还原/备份时做了些什么 自己也测试了一下,下面说的错误日志指的是SQLSERVER ERRORLOG 一般在C:\Program Fi ...
随机推荐
- C语言数据结构基础学习笔记——基础线性表
线性表是指具有相同数据类型的n(n>=0)个数据元素的有限序列,它具有一个表头元素和一个表尾元素,并且每一个数据元素最多只有一个直接前驱和一个直接后继. 线性表的顺序存储也叫作顺序表,它的特性是 ...
- 使用Maven
MyEclipse2015自带有Maven,但是建个工程老出错. (Eclipse J2EE也自带有) 1.下载maven.官网 http://maven.apache.org/download.cg ...
- [java,2018-02-24] svn检出项目名称不正确
,今天从svn中检出项目时发现,检出项目的名称与实际的不相同,如下图: 这才想起来,当时创建项目时是随意起了个test的名称作为项目名,后来觉得能用,就在me中直接把项目名称改掉,提交到了svn.再从 ...
- 使用fdisk进行分区
fdisk进行分区 1.首先使用fdisk -l 发现待分区磁盘/dev/vdb 大小为1TB 2.fdisk /dev/vdb 对该磁盘进行分区,输入m并回车 3.输入n并回车,n是“new”新建 ...
- gentoo freemind 安装设置
安装 freemind 之后,感觉菜单上面的字体比较模糊,通过设置 tools --> preference 中的 defaults --> default fonts 里面 的 defa ...
- leetcode每日刷题计划-简单篇day1
orzorz开始刷题 争取坚持每周平均下来简单题一天能做两道题吧 非常简单的题奇奇怪怪的错误orz越不做越菜 Num 7 整数反转 Reverse Integer 刚开始多给了一个变量来回折腾占地方, ...
- json字符串装List<Object>
List<SearchParam> ts = (List<SearchParam>) JSONArray.parseArray(jsonStr, SearchParam.cla ...
- (7)linux文件常用操作命令
ls / 查看根目录下的子节点(文件夹和文件)信息ls -al -a是显示隐藏文件 -l是以更详细的列表形式显示 **切换目录cd /home cd .. 返回上一级 **创建文件夹mkdir aaa ...
- 算术运算,赋值运算,if语句,while,continue语句
算术运算 print(10 / 3)=3.333333333333 print(10 // 3)=3 print(10 ** 2)=100 赋值运算增量赋值 age=18 age+=1 print(a ...
- BOUNDARIES AND SPACE
BOUNDARIES AND SPACE Review Nice work! You've learned a lot. Let's review the web and CSS concepts c ...