dump
命令在Linux中用于备份文件系统到某个存储设备。它备份的是整个文件系统,而不是单个文件。换句话说,它将所需的文件备份到磁带、磁盘或任何其他存储设备以进行安全存储。dump
命令在Linux中只适用于ext2/ext3文件系统,不适用于FAT和ReiserFS等其他文件系统。dump
的一个特殊功能是它允许增量备份。增量备份意味着用户可以设置一个备份计划,根据该计划,文件系统将每周备份一次,或者只备份最近更改或添加的文件。
dump
命令在大多数Linux发行版中都可以使用。如果在某些Linux发行版中无法使用,通常可以通过安装相应的软件包来解决。例如,在基于Debian的系统(如Ubuntu)中,可以使用以下命令来安装dump
:
[[email protected] ~]$ sudo apt install -y dump
在基于RedHat的系统(如CentOS)中,可以使用以下命令来安装dump
:
[[email protected] ~]$ sudo yum install -y dump # for CentOS 7
[[email protected] ~]$ sudo dnf install -y dump # for CentOS 8
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
命令的选项和参数非常多,下面我们将详细介绍一些常用的选项和参数。
以下是dump
命令的一些常用选项和参数的说明:
选项 | 说明 |
---|---|
-level# | 备份级别,是一个从0-9的整数。如果用户要求执行全备份,或者只备份自上次低级别备份后添加的新文件。 |
-f file | 指定将备份写入的文件。文件可以是磁带驱动器、软盘、普通文件或标准输出。 |
-u | 记录并更新备份在/etc/dumpdates文件中。 |
-B records | 显示每个卷的备份记录数。换句话说,它显示了可以放入磁带的数据量。这并不总是必需的,因为DUMP可以检测到媒体或存储的结束。这需要一个数值,并与-b(下面提到)一起使用。 |
-b blocksize | 块大小指定每个备份记录的千字节数。块大小的默认值是10。 |
-W | 列出需要备份的文件系统。 |
-a | ‘a’代表’auto-size’。这很有用,因为它可以帮助我们绕过所有的磁带长度计算,当我们需要将数据追加到现有的磁盘时,这一点尤其有效。 |
-z compression level | 使用zlib库压缩要写入磁带的每个块。默认的压缩级别是2。 |
-S | 在执行之前估计大小。输出是dump将占用的估计字节数。在进行增量备份时,这很有帮助,以确定将使用多少卷的媒体。 |
-I nr errors | 默认情况下,dump会忽略前32个读取错误。这个值可以根据用户的选择手动更改为任何值。 |
以下是一些dump
命令的实例:
[[email protected] ~]$ sudo dump -0uf /backup/location/dumpfile.dump /path/to/source
这个命令创建了指定源目录的全备份。
[[email protected] ~]$ sudo dump -1uf /backup/location/dumpfile.dump /path/to/source
这个命令创建了指定源目录的增量备份。只有在上次全备份(级别0)后更改或添加的文件才会被备份。
[[email protected] ~]$ sudo dump -0uaf /backup/location/dumpfile.dump /path/to/source
这个命令使用了’a’(自动大小)选项来创建全备份。这个选项可以帮助我们绕过所有的磁带长度计算。
[[email protected] ~]$ sudo dump -1uzf /backup/location/dumpfile.dump /path/to/source
这个命令创建了指定源目录的增量备份,并使用zlib库压缩每个块。
[[email protected] ~]$ sudo dump -S /path/to/source
这个命令在执行备份之前估计了大小。输出是dump将占用的估计字节数。
[[email protected] ~]$ sudo dump -W
这个命令列出了需要备份的文件系统。
[[email protected] ~]$ sudo dump -0uaf /backup/location/dumpfile.dump /path/to/source
这个命令使用了’a’(自动大小)选项来创建全备份。这个选项可以帮助我们绕过所有的磁带长度计算。
[[email protected] ~]$ sudo dump -0ub 32f /backup/location/dumpfile.dump /path/to/source
这个命令创建了指定源目录的全备份,并指定了每个备份记录的千字节数为32。
[[email protected] ~]$ sudo dump -0ud 1600f /backup/location/dumpfile.dump /path/to/source
这个命令创建了指定源目录的全备份,并指定了磁带密度为1600。
[[email protected] ~]$ sudo dump -0uB 1000f /backup/location/dumpfile.dump /path/to/source
这个命令创建了指定源目录的全备份,并指定了每个卷的备份记录数为1000。
[[email protected] ~]$ sudo dump -0uz 9f /backup/location/dumpfile.dump /path/to/source
这个命令创建了指定源目录的全备份,并指定了zlib库压缩每个块的压缩级别为9。
dump
命令只适用于ext2/ext3文件系统,不适用于FAT和ReiserFS等其他文件系统。dump
命令时遇到bash: dump: command not found
错误,那么可能需要安装dump
软件包。