tar打包如何不打包某一个文件夹(排除某些文件夹)

问题描述:

最近想备份一下Tomcat运行的的功能文件,以防特殊情况的发生。但是在实际操作的过程中发现,可能是由于Unix/Linux版本太老的原因,无论是网上说的加上这个--exclude=选项,

使用tar打包,如何排除某些文件夹呢?_hive

还是-X模式,都不成功,各种试验,测试

使用tar打包,如何排除某些文件夹呢?_tomcat_02

下面是我试验的结果

使用tar打包,如何排除某些文件夹呢?_hive_03


使用tar打包,如何排除某些文件夹呢?_压缩包_04


使用tar打包,如何排除某些文件夹呢?_hive_05

解决方法:

遇到问题上百度,谷歌,这是我们的第一反应,然而好像并没有搜到什么有价值的分析和内容。

额,那我们先来看看我的机器吧。

使用tar打包,如何排除某些文件夹呢?_tomcat_06

然后我看看man手册,看看那个男人会告诉我们什么

使用tar打包,如何排除某些文件夹呢?_压缩包_07

我看到了个-X选项,然后继续看描述吧

使用tar打包,如何排除某些文件夹呢?_tomcat_08

-X ExcludeList
Excludes the file names or directories given in the ExcludeList from the tar archive being created, extracted or
listed. The ExcludeList shall contain only one filename or directory per line which are to be excluded from the tar
archive being created, extracted from or listed. The -X option can be specified multiple times and it takes precedence over all other options.

然后我一想,会不会是-X选项不能合并在一块用,我尝试着分开

tar -cvf test_conf_008.tar -X exclude.list conf

exclude.list里面的内容

conf/aa/
conf/bb/
conf/cc/

执行的结果如图,等等,好像成功了

使用tar打包,如何排除某些文件夹呢?_压缩包_09

那我们来验证一下吧,我们来看看conf目录下的文件

使用tar打包,如何排除某些文件夹呢?_tomcat_10

再来看看产生的压缩包文件夹

使用tar打包,如何排除某些文件夹呢?_压缩包_11

看到压缩包内的确没有压缩到排除的目录,成功了。

我就可以愉快地去压缩备份Tomcat目录下的工程了。

如果你也有类似的需求,希望可以帮到你。