侧边栏壁纸
Linux入门自学网博主等级

每日学一条Linux命令,终成Linux大神

  • 累计撰写 725 篇文章
  • 累计创建 143 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Linux dump命令用法详解:如何压缩(增量)备份文件系统(附实例)

Linux dump命令介绍

dump命令是Linux系统中的一个备份工具,它可以将整个文件系统或者目录备份到指定的设备或者文件中。它的特点是支持增量备份,也就是说,它可以根据备份的层级,只备份上次备份后发生变化的文件,从而节省备份的时间和空间。dump命令只能用于ext2/ext3文件系统,不能用于其他类型的文件系统,如FAT和ReiserFS。

Linux dump命令适用的Linux版本

dump命令在大多数Linux发行版中都是可用的,但是有些发行版可能没有预装这个命令,需要手动安装。例如,在Ubuntu中,可以使用以下命令安装dump:

[linux@bashcommandnotfound.cn ~]$ sudo apt install -y dump

在CentOS中,可以使用以下命令安装dump:

[linux@bashcommandnotfound.cn ~]$ sudo yum install -y dump

注意,CentOS 7和CentOS 8使用的安装工具不同,CentOS 7使用yum,而CentOS 8使用dnf。如果你不确定你的Linux发行版和版本,可以使用以下命令查看:

[linux@bashcommandnotfound.cn ~]$ cat /etc/os-release

Linux dump命令的基本语法

dump命令的基本语法格式如下:

dump [-level#] [-a autosize] [-A file] [-B records] [-b blocksize] [-d density] [-D file] [-e inode numbers] [-E file] [-f file] [-F script] [-h level] [-I nr errors] [-jcompression level] [-L label] [-Q file] [-s feet] [-T date] [-y] [-zcompression level] files-to-dump

或者

dump [-W | -w]

其中,-level#是指定备份的层级,从0到9,0表示完全备份,1到9表示增量备份。-f file是指定备份的输出文件,可以是磁带驱动器,U盘,普通文件或者标准输出。files-to-dump是指定要备份的文件系统或者目录。-W和-w是用于列出需要备份的文件系统。

Linux dump命令的常用选项说明

dump命令有很多选项,可以用于控制备份的过程和结果。这里列出一些常用的选项,更多的选项可以参考dump的手册页。

选项说明
-0完全备份,相当于-level0
-1增量备份,相当于-level1
-a自动计算磁带的长度,不需要指定-B或者-s选项
-A file将备份的信息记录到指定的文件中,而不是默认的/etc/dumpdates文件
-b blocksize指定每个备份记录的块大小,单位是KB,默认是10
-B records指定每个卷的备份记录数,也就是每个磁带或者文件可以存储的数据量
-d density指定磁带的密度,单位是BPI(比特每英寸)
-e inode numbers只备份指定的inode号对应的文件
-E file从指定的文件中读取要备份的inode号
-f file指定备份的输出文件,可以是磁带驱动器,U盘,普通文件或者标准输出
-F script指定一个脚本文件,用于在每个卷开始和结束时执行一些操作
-h level指定要备份的文件系统的最大高度,也就是最大的子目录层数
-I nr errors指定dump忽略的最大读取错误数,默认是32
-j compression level指定使用bzip2压缩每个备份记录,压缩等级从1到9,1最快,9最高
-L label指定备份的卷标,用于区分不同的备份
-Q file指定一个文件,用于记录备份的统计信息
-s feet指定磁带的长度,单位是英尺
-T date指定备份的时间戳,用于增量备份
-u更新备份的信息到/etc/dumpdates文件中
-W列出需要备份的文件系统
-w列出需要备份的文件系统,但不显示上次备份的时间
-y使用gzip压缩每个备份记录,相当于-z9
-z compression level指定使用zlib压缩每个备份记录,压缩等级从1到9,1最快,9最高

Linux dump命令的实例

下面是一些使用dump命令的实例,展示了不同的备份场景和方法。

完全备份一个文件系统

要完全备份一个文件系统,可以使用-0选项,然后指定输出文件和要备份的文件系统。例如,要备份/dev/sda6到/dev/qft0,可以使用以下命令:

[linux@bashcommandnotfound.cn ~]$ sudo dump -0 -f /dev/qft0 /dev/sda6

如果要备份到一个普通文件,可以使用以下命令:

[linux@bashcommandnotfound.cn ~]$ sudo dump -0 -f /path/to/backup_file /dev/sda6

如果要备份到标准输出,可以使用以下命令:

[linux@bashcommandnotfound.cn ~]$ sudo dump -0 -f - /dev/sda6

增量备份一个文件系统

要增量备份一个文件系统,可以使用-1到-9选项,然后指定输出文件和要备份的文件系统。例如,要备份/dev/sda6到/dev/qft0,只备份上次完全备份后发生变化的文件,可以使用以下命令:

[linux@bashcommandnotfound.cn ~]$ sudo dump -1 -f /dev/qft0 /dev/sda6

如果要备份/dev/sda6到/dev/qft0,只备份上次增量备份后发生变化的文件,可以使用以下命令:

[linux@bashcommandnotfound.cn ~]$ sudo dump -2 -f /dev/qft0 /dev/sda6

注意,增量备份需要指定备份的时间戳,可以使用-T选项,也可以使用-u选项自动更新时间戳到/etc/dumpdates文件中。

压缩备份一个文件系统

要压缩备份一个文件系统,可以使用-y,-j或者-z选项,然后指定输出文件和要备份的文件系统。例如,要备份/dev/sda6到/dev/qft0,并使用gzip压缩,可以使用以下命令:

[linux@bashcommandnotfound.cn ~]$ sudo dump -0 -y -f /dev/qft0 /dev/sda6

如果要使用bzip2压缩,可以使用以下命令:

[linux@bashcommandnotfound.cn ~]$ sudo dump -0 -j9 -f /dev/qft0 /dev/sda6

使用脚本备份一个文件系统

要使用脚本备份一个文件系统,可以使用-F选项,然后指定一个脚本文件,用于在每个卷开始和结束时执行一些操作。例如,要备份/dev/sda6到/dev/qft0,并使用一个名为backup.sh的脚本,可以使用以下命令:

[linux@bashcommandnotfound.cn ~]$ sudo dump -0 -f /dev/qft0 -F backup.sh /dev/sda6

脚本文件的内容可以根据需要自定义,但必须遵循以下格式:

#!/bin/sh
case $1 in
start)
# 在每个卷开始时执行的操作
;;
end)
# 在每个卷结束时执行的操作
;;
esac

列出需要备份的文件系统

要列出需要备份的文件系统,可以使用-W或者-w选项,不需要指定输出文件和要备份的文件系统。-W选项会显示每个文件系统的上次备份的时间,而-w选项不会显示。例如,要列出需要备份的文件系统,可以使用以下命令:

[linux@bashcommandnotfound.cn ~]$ sudo dump -W

或者

[linux@bashcommandnotfound.cn ~]$ sudo dump -w

Linux dump命令的注意事项

使用dump命令备份文件系统时,需要注意以下几点:

  • dump命令只能用于ext2/ext3文件系统,不能用于其他类型的文件系统,如FAT和ReiserFS。如果要备份其他类型的文件系统,可以使用其他工具,如tar或者cpio。
  • dump命令需要root权限,或者sudo权限,才能正常执行。
  • dump命令需要文件系统处于非活动状态,或者只读状态,才能保证备份的一致性。如果文件系统在备份过程中发生变化,可能导致备份的数据不完整或者损坏。因此,建议在备份前,先卸载文件系统,或者使用mount命令将文件系统挂载为只读模式。
  • dump命令需要有足够的空间和时间来完成备份。如果备份的文件系统很大,或者备份的设备很慢,可能需要花费很长的时间来完成备份。如果备份的设备空间不足,可能需要使用多个卷来存储备份的数据。在这种情况下,dump命令会提示用户更换设备或者文件,并继续备份。
  • dump命令需要记录备份的信息,以便于进行增量备份或者恢复。默认情况下,dump命令会将备份的信息写入到/etc/dumpdates文件中,这个文件需要有可写的权限。如果不想使用这个文件,可以使用-A选项指定其他的文件。如果不想记录备份的信息,可以使用-n选项禁用这个功能。
0

评论区