前言:前段时间为了安装新的系统需要将需要将一些目录备份下来,搜了下可以使用tar
这个命令。
Tar(Tape ARacive) = 磁带归档。
选项 | 含义 |
---|---|
-c | create a new tar file |
-v | 过程打印在 console 上 |
-f | 指定文件 |
-z | gunzip |
-j | bzip2 |
-p | 保留原文档的权限与属性 |
-g | 增量同步 |
使用 tar 时,可以将-f filename
与其他选项独立出来,会比较不容易发生问题。
- 压缩:
tar -jcv -f filename.tar.bz2 需要被压缩的文件或目录
- 查询:
tar -jtv -f filename.tar.bz2
- 解压缩:
tar -jxv -f filename.tar.bz2 - C 放置解压缩文件的目录
增量备份
一个小测试。
- 创建 test_tar 文件夹,文件夹中创建三个文件 = a, b, c。创建第一个 tarball:
tar -g snapshot -zcf backup_full.tar.gz test_tar
tar ztf backup_full.tar.gz
- 在 test_tar 文件夹中添加新文件 d 后,创建第二个 tarball =
tar -g snapshot -zcf back_ince_01.tar.gz test_tar
tar ztf back_ince_01.tar.gz
- 在 test_tar 文件夹中添加新文件 e,并且往文件中写入一句话"hello, tar",后创建第三个 tarball =
tar -g snapshot -zcf back_ince_02.tar.gz test_tar
tar ztf back_ince_02.tar.gz
- 删除 test_tar 文件夹及其中文件,从 tarball 中还原出原来的文件:
# extract
tar zxf backup_full.tar.gz
tar zxf back_ince_01.tar.gz
tar zxf back_ince_02.tar.gz
打完包后如果想要加密的话,可以使用 7zip 或者其他软件进行加密。
参考
- https://linux.cn/article-7802-1.html
- 《鸟哥的 linux 私房菜》基础篇