发布时间:2014-09-05 13:29:46作者:知识屋
最近在对Oracle 数据库使用冷备tar迁移时,遇到需要将当前数据库文件下下的datapump导出的文件过滤掉,要不然然会产生很大的tar文件以及耗用网络传输时间。其实tar命令为我们提供了过滤功能,只不过由于过滤功能通常使用的比较少,所以很多人不知道。本文描述了tar命令下如何过滤不需要的文件或文件夹。
1、演示环境
#当前的tree 目录下存在BBB,CCC以及BNR子目录,现在需要将gz的dump文件过滤掉,也就是不参与打包[oracle@linux1 ~]$ tree AAAAAA|-- BBB| `-- SYTST_temp.dbf|-- BNR| |-- dump| | |-- emp.dmp.gz| | |-- tb.dmp.gz| | `-- xx.dmp.gz| `-- full|-- CCC| `-- tempSYTST.dbf|-- SYTST.sh`-- initSYTST.ora5 directories, 7 files
2、演示如何进行过滤
#方法一,下面通过exclude参数进行过滤,使用通配符[oracle@linux1 ~]$ tar -czvf A1.tar.gz --exclude '*.gz' ./AAA ./AAA/./AAA/CCC/./AAA/CCC/tempSYTST.dbf./AAA/BBB/./AAA/BBB/SYTST_temp.dbf./AAA/SYTST.sh./AAA/initSYTST.ora./AAA/BNR/./AAA/BNR/full/./AAA/BNR/dump/#查看包中的内容,没有任何gz文件[oracle@linux1 ~]$ tar -tvf A1.tar.gzdrwxr-xr-x oracle/oinstall 0 2013-12-13 14:10:43 ./AAA/drwxr-xr-x oracle/oinstall 0 2013-12-13 14:12:18 ./AAA/CCC/-rwxr-xr-x oracle/oinstall 209723392 2013-12-13 14:12:19 ./AAA/CCC/tempSYTST.dbfdrwxr-xr-x oracle/oinstall 0 2013-12-13 14:11:56 ./AAA/BBB/-rwxr-xr-x oracle/oinstall 104865792 2013-12-13 14:11:56 ./AAA/BBB/SYTST_temp.dbf-rwxr-xr-x oracle/oinstall 1281 2013-12-13 14:10:43 ./AAA/SYTST.sh-rwxr-xr-x oracle/oinstall 2949 2013-12-13 14:10:31 ./AAA/initSYTST.oradrwxr-xr-x oracle/oinstall 0 2013-12-13 14:11:12 ./AAA/BNR/drwxr-xr-x oracle/oinstall 0 2013-12-13 14:11:12 ./AAA/BNR/full/drwxr-xr-x oracle/oinstall 0 2013-12-13 14:11:04 ./AAA/BNR/dump/#方法二,下面通过使用多个exclude参数进行过滤[oracle@linux1 ~]$ tar -czvf A2.tar.gz --exclude='tempSYTST.dbf' --exclude=SYTST_temp.dbf ./AAA ./AAA/./AAA/CCC/./AAA/BBB/./AAA/SYTST.sh./AAA/initSYTST.ora./AAA/BNR/./AAA/BNR/full/./AAA/BNR/dump/./AAA/BNR/dump/xx.dmp.gz./AAA/BNR/dump/tb.dmp.gz./AAA/BNR/dump/emp.dmp.gz#方法三,借助于exclude参数,直接将需要过滤得文件添加到文件,然后再从文件读取[oracle@linux1 ~]$ echo "*.dbf" >>exclude.txt[oracle@linux1 ~]$ echo "*.gz" >>exclude.txt[oracle@linux1 ~]$ more exclude.txt*.dbf*.gz[oracle@linux1 ~]$ tar -czvf A3.tar.gz --exclude-from=exclude.txt ./AAA./AAA/./AAA/CCC/./AAA/BBB/./AAA/SYTST.sh./AAA/initSYTST.ora./AAA/BNR/./AAA/BNR/full/./AAA/BNR/dump/#方法四,借助于exclude参数,可以直接使用目录加通配符的方式来过滤指定文件夹下的所有文件[oracle@linux1 ~]$ tar -czvf A4.tar.gz --exclude=./AAA/BNR/dump/* ./AAA./AAA/./AAA/CCC/./AAA/CCC/tempSYTST.dbf./AAA/BBB/./AAA/BBB/SYTST_temp.dbf./AAA/SYTST.sh./AAA/initSYTST.ora./AAA/BNR/./AAA/BNR/full/./AAA/BNR/dump/#方法五,借助于exclude参数,直接使用目录方式来过滤[oracle@linux1 ~]$ tar -czvf A4.tar.gz --exclude=./AAA/BNR ./AAA ./AAA/./AAA/CCC/./AAA/CCC/tempSYTST.dbf./AAA/BBB/./AAA/BBB/SYTST_temp.dbf./AAA/SYTST.sh./AAA/initSYTST.ora
3、获取帮助信息
#使用help获取帮助信息[oracle@linux1 ~]$ tar --helpUsage: tar [OPTION...] [FILE]...GNU `tar' saves many files together into a single tape or disk archive, and canrestore individual files from the archive.Examples: tar -cf archive.tar foo bar # Create archive.tar from files foo and bar. tar -tvf archive.tar # List all files in archive.tar verbosely. tar -xf archive.tar # Extract all files from archive.tar. ..........省略...........#使用man或者info获取帮助信息[oracle@linux1 ~]$ man tar
更多参考
有关Oracle RAC请参考
有关Oracle 网络配置相关基础以及概念性的问题请参考:
有关基于用户管理的备份和备份恢复的概念请参考
有关RMAN的备份恢复与管理请参考
有关ORACLE体系结构请参考
linux一键安装web环境全攻略 在linux系统中怎么一键安装web环境方法
Linux网络基本网络配置方法介绍 如何配置Linux系统的网络方法
Linux下DNS服务器搭建详解 Linux下搭建DNS服务器和配置文件
对Linux进行详细的性能监控的方法 Linux 系统性能监控命令详解
linux系统root密码忘了怎么办 linux忘记root密码后找回密码的方法
Linux基本命令有哪些 Linux系统常用操作命令有哪些
Linux必学的网络操作命令 linux网络操作相关命令汇总
linux系统从入侵到提权的详细过程 linux入侵提权服务器方法技巧
linux系统怎么用命令切换用户登录 Linux切换用户的命令是什么
在linux中添加普通新用户登录 如何在Linux中添加一个新的用户
2012-07-10
CentOS 6.3安装(详细图解教程)
Linux怎么查看网卡驱动?Linux下查看网卡的驱动程序
centos修改主机名命令
Ubuntu或UbuntuKyKin14.04Unity桌面风格与Gnome桌面风格的切换
FEDORA 17中设置TIGERVNC远程访问
StartOS 5.0相关介绍,新型的Linux系统!
解决vSphere Client登录linux版vCenter失败
LINUX最新提权 Exploits Linux Kernel <= 2.6.37
nginx在网站中的7层转发功能