linux下使用tar命令备份文件,再也不用提桶跑路了

大企鹅-linux

如果您正在寻找 Linux 系统上的免费命令行备份工具,那么 tar 命令就是您的解决方案。Tar 命令可以为您的应用程序、配置文件和系统文件夹创建备份。

tar (tape archive) 即磁带归档,可以将多个文件和目录归档到一个 tar 文件中。这个 tar 文件也可以使用 gzip 和 bzip2 压缩实用程序进行压缩。一旦我们准备好了 tar 备份,我们就可以使用 scp 或 rsync 命令轻松地将其传输到远程备份服务器。

在这篇文章中,我们将演示如何在 Linux 中使用 tar 命令创建备份。

如何创建 tar 备份文件?

要创建 tar 备份文件,首先确定作为备份的一部分的文件和文件夹。假设我们要备份 /home/linuxtechi, /etc 和 /opt 文件夹。运行以下 tar 命令

$ sudo tar -cvpf  system-back.tar  /home/linuxtechi /etc /opt

这将在当前工作目录中创建一个 tar ball,在上面的 tar 命令中,我们使用了以下选项

  • c – 创建新的存档
  • v – 在创建 tar 文件时显示详细输出
  • f – 存档文件名
  • p – 保存权限
  • 创建 tar 备份并使用 gzip 压缩

    在 tar 命令中使用 z 选项使用 gzip 压缩,tar 备份文件的扩展名为 .tgz 或 .tar.gz

    $ sudo tar -zcvpf system-back.tgz /home/linuxtechi /etc /opt

    创建 tar 备份并使用 bzip2 压缩

    在 tar 命令中使用 j 选项使用 bzip2 压缩,tar 备份文件的扩展名为 .tbz2 或 .tar.bz2

    $ sudo tar -jcvpf system-back.tbz2 /home/linuxtechi /etc /opt

    如何追加一个文件 tar 备份?

    追加一个文件到现有的 tar 备份文件,使用 -r 选项,完整的命令将如下所示

    Syntax: $ tar -rvf {tar-backup} {new-file-to-be-appended}

    假设我们要将 /root/app.yaml 文件附加到 system-backup.tar,运行

    $ sudo tar -rvf system-back.tar /root/app.yaml

    注意: 我们不能追加文件或文件夹到已压缩的 tar 备份,因为它是不支持的。

    如何创建 tar 备份时排除文件?

    要在创建 tar 备份时排除文件,请使用 -X 选项,后面跟着排除文件。要使用排除功能,我们必须创建一个排除文件,其中将包含要排除的文件名。

    $ cat exclude.txt/etc/debconf.conf/etc/hosts

    在创建 /etc 的 tar 备份时,运行以下命令以排除 exclude.txt 中提到的文件

    $ sudo tar -X exclude.txt -zcpvf etc-backup.tgz /etc

    如何查看 tar 备份的内容?

    要查看 tar 备份的内容,使用 -t 选项,完整选项是 -tvf,示例如下

    $ sudo tar -tvf system-back.tgz | grep -i etc/fstab-rw-rw-r-- root/root    665 2021-07-07 04:57 etc/fstab

    如何提取 tar 备份?

    在 tar 命令中使用 -x 选项提取 tar 备份,完整选项为 -xpvf,示例如下

    $ sudo tar -xpvf system-back.tgz

    此命令将在当前工作目录中提取系统 back.tgz,如果您要在特定文件夹中提取它,请使用 -C 选项,在下面的示例中,我们将 system-back.tgz 提取到 /var/tmp 目录

    $ sudo tar -xpvf system-back.tgz -C /var/tmp/$ ls -l /var/tmp/

    如何验证 tar 备份的完整性?

    对于 tar ball,使用 -tf 选项,然后将输出重定向到 /dev/null

    $ tar -tf system-back.tar > /dev/null

    如果上面的命令没有任何输出,那么我们可以说没有损坏。

    在发生损坏的情况下,我们将得到如下所示的输出

    要验证压缩 tar 备份的完整性,请使用以下方法

    验证 .tgz / .tar.gz 完整性

    $ gunzip -c system-back.tgz | tar -t > /dev/null

    验证 .tbz2 / .tar.bz2 完整性

    $ tar -tvf system-back.tbz2 > /dev/null

    以上命令不应该产生任何输出。如果有输出,可以说压缩的 tar 备份中可能有一些损坏。

    以上就是这篇文章的全部内容,希望你能从中得到一些信息。请在下方评论区分享你的反馈和疑问。

    我的开源项目

    开源在线教育解决方案

  • course-tencent-cloud(酷瓜云课堂 – gitee 仓库)
  • course-tencent-cloud(酷瓜云课堂 – github 仓库)
  • 声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2022年10月25日
    下一篇 2022年10月25日

    相关推荐