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 ...
随机推荐
- vim常用操作和使用技巧
vi是linux与unix下的常用文本编辑器,其运行稳定,使用方便,本文将分两部分对其常用操作技巧和配置进行阐述,其中参考了网上的一些文章,对作者表示感谢 PART1 操作技巧 说明: 以下的例子中 ...
- day32基于tcp协议的远程执行命令
客户端 from socket import *import structimport json client = socket(AF_INET, SOCK_STREAM)client.connect ...
- Signals的使用(通知)
https://docs.djangoproject.com/en/2.1/topics/signals/
- windows下Mysql8.0.12安装详解
MySQL的安装过程还是比较繁琐,为了以后安装节约时间,将其详细安装过程总结如下: 1>下载对应版本 下载地址:https://dev.mysql.com/downloads/mysql/ 2& ...
- 资产管理平台 glpi
1.安装apache yum install httpdyum install httpd-devel 2.安装php 3.配置apache支持php 4.下载glpi并解压 5.配置apache 6 ...
- java 自动补全
int youNumber = 1; // 0 代表前面补充0 // 4 代表长度为4 // d 代表参数为正数型 String str = String.format("%04d" ...
- jquery中的callbacks之我见
callbacks是jquery的核心之一. 语法如下: jQuery.Callbacks( flags ) flags 类型: String 一个用空格标记分隔的标志可选列表,用来改变回调列表中 ...
- 使用idea生成maven项目的jar包(转)
第一步 第二步 第三步 转自:https://blog.csdn.net/waterimelon/article/details/69243651
- A除以B
1017 A除以B (20)(20 分) 本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数.你需要输出商数Q和余数R,使得A = B * Q + R成立. 输入格式: 输入在1行中 ...
- 微信小程序页面跳转 的几种方式
最近在做微信小程序,碰到页面跳转的问题,总结一下页面之间跳转的方式 一.wx.navigateTo(OBJECT) 这是最普遍的一种跳转方式,其官方解释为:“保留当前页面,跳转到应用内的某个页面” 类 ...