免费提问

centos服务器下面用tar打包文件,想排除一个目录应该怎么办?

144
提问者 帅得一塌糊涂
2018-09-24 21:45 悬赏 0财富值 阅读 1020回答 8

我在备份服务器数据的时候想备份一个文件夹,把没用的目录给排除掉,这个应该怎样写命令?我的服务器系统是centos  linux7.5 X64位的,因为服务器硬盘扩容,我得备份数据,某些缓存目录不需要打包进去,我要备份的目录路径是“/home/server”,我想排除server目录下的cache目录和cachedb目录,还有一个php文件在lib目录下面叫connect.php,谁给写个完整的命令方法?

QQ截图20180924154704

服务器
登录 后发表回答
初识你名
1楼 · 2018-09-25 07:55.采纳回答

centos所有版本的linux系统服务器打包命令用的都是tar,参数也没什么变化,如果只是打包/home/server目录,命令行如下:

tar -zcvf home.tar.gz /home/server

输入以上命令回车即可,如果要排除一个目录应该用到exclude命令,完整的命令如下:

tar -zcvf home.tar.gz /home/server --exclude=/home/server/cache

你的情况是既要排除目录,还要排除文件,完整的命令应该这样写:

tar -zcvf home.tar.gz /home/server --exclude=/home/server/cache --exclude=/home/server/cache  --exclude=/home/server/lib/connect.php
/**命令行注释**/
tar -zcvf home.tar.gz /home/server --exclude=排除目录1 --exclude=排除目录2  --exclude=排除文件1
/**后面有多少需要排除的,就写多少,如果排除所有的文件,直接写*.php或者指定的后缀**/

需要注意的几个地方:

1、--exclude=排除目录1 而不是 --exclude 排除目录1;后面应该跟等于号。

2、要排除一个目录是 --exclude=排除目录1,而不是 --exclude=排除目录1/


1149269983
2楼-- · 2019-07-25 12:12

这个要看你的tar的版本了(tar --version),我用的是 gnu tar 1.23,用下面的命令来生成 my.tar, 内容是a.txt里列出来的文件。 tar -cf my.tar -T a.txt 或者 tar -cf my.tar --files-from a.txt 如果你的tar不支持 -T 或者 --files-from,还可以用如下方法 tar -cf my.tar `cat a.txt` 一般来说也是可以的 (注意 cat a.txt 要用反引号,也就是和波浪线一个按键的那个引号括起来)


wjg_8205
3楼-- · 2019-07-25 12:34

进入1.out 2.out 3.out所在目录 tar -cvf 1.out 2.out 3.out 保存路径 这两天也在研究这个,加油。


robert
4楼-- · 2019-07-25 12:34

tar tmp.tar ./ 切换到要打包的目录下,使用上面命令打包,tmp.tar为打包后的文件,./为要打包的目录


小傻妞8
5楼-- · 2019-07-25 12:28

tra打包多个文件不压缩用: tar -cvf out.tar 1.out 2.out 3.out gz压缩用: tar -czvf out.tar.gz 1.out 2.out 3.out bz2压缩用: tar -cjvf out.tar.bz2 1.out 2.out 3.out 输出文件名是写在前面的。


daiqiang52013
6楼-- · 2019-07-25 12:18

我用的fc9 tar -cvf [包名] 〔要打包的文件命〕 例如:/home下有1.out,2.out,3.out三个文件,我想把它打包并且起名为123.tar并且存在/opt下。 tar -cvf /opt/123.tar /home/*.out 然后在opt下就有一个名为123.tar的包了。里面包含文件1.out,2.out,3.out.


网站简介 | 竞价技巧 | 网站建设 | 原创作品 | 联系我们 |

鄂ICP备17013851号-4|经营许可证:鄂B2-20160818 |互联网药品信息服务资格证: 粤20130124|鄂公网安备:42010601000001|版权登记号:2016SR017186