在很多时候,我们要对某一个目录打包,而这个目录下有几十个子目录和子文件,我们需要在打包的时候排除其中1、2个目录或文件。
这时候我们在用tar命令打包的时候,增加参数 --exclude 就能达到目的。
# tar --help | grep exclude
tar -zcvf /opt/backup/X.tar.gz /opt/web/Y -exclude /opt/web/Y/logs
注意:
1.exclude后面子目录不要跟斜杠"/",否则exclude无效.
2.打包的目录使用相对路径,排除的文件只能接相对路径
3.打包的目录使用绝对路径,排除的文件接相对路径或绝对路径
4.建议打包的目录和排除的文件使用的使用路径时,保持一致,都是用绝对路径,或都是用相对路径
tar -zcf X.tar.gz /opt/abc --exclude /opt/abc/Y.txt
###
tar -zcf X.tar.gz /opt/abc --exclude /opt/abc/xyz --exclude /opt/abc/Y.txt
###
tar命令之--exclude参数 排除指定的文件或目录
https://cloud.tencent.com/developer/article/1360591
在对某个目录进行压缩的时候,有时候想排除掉某个目录.
例如:如果123目录下有3个子目录,aa、bb、cc.我现在想只对aa和bb目录打包压缩,命令如下:
tar -zcvf 123.tar.gz --exclude=cc 123
使用exclude参数来过滤不需要的目录或文件,排除某个文件的 *** 作和目录一样.
Linux tar 打包排除某些文件夹[通俗易懂]场景想要将以前的程序打包下来,但是发现有log日志,而且比较大,有几G大。解决思路打包的时候,将某些文件夹给排除掉,只打包自己想要的文件。解决方法使用tar命令来进行打包,并使用-exclude这个参数来排除一个文件夹。如果存在多个排除文件夹,就要写多个参数。使用tar命令来进行打包,并使用-exclude这个参数来排除一个文件夹。如果存在多个排除文件夹,就要写多个参数。
tar -zcvf scheduler_20180508.tar.gz
--exclude=scheduler/lib.bk --exclude=scheduler/logs scheduler
常见错误
打包命令觉得没有错,但是还是将排除的文件夹给打包进去了。原因之一便是在写路径的时候,后面跟了/,导致排除失败。
失败用法
tar -zcvf scheduler_20180508.tar.gz
--exclude=scheduler/lib.bk/ --exclude=scheduler/logs/ scheduler
正确用法
tar -zcvf scheduler_20180508.tar.gz
--exclude=scheduler/lib.bk --
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)