分享

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

 lifebegins40s 2022-11-30 发布于江西
文章图片1

大企鹅-linux

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/
文章图片2

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

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

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

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

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

文章图片3

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

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

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

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

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

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

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

我的开源项目

文章图片4

开源在线教育解决方案

  • course-tencent-cloud(酷瓜云课堂 - gitee 仓库)

  • course-tencent-cloud(酷瓜云课堂 - github 仓库)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多