1.3. ReaR 排除
ReaR 工具会在恢复过程中根据 /var/lib/rear/layout/disklayout.conf 布局文件中的描述,在恢复的系统的磁盘上重新创建已生成救援镜像的原始系统的存储布局。存储布局包括分区、卷组、逻辑卷、文件系统和其他存储组件。
ReaR 在创建救援镜像时创建布局文件,并在镜像中嵌入这个文件。您还可以使用 rear savelayout 命令创建布局文件。这可让您快速创建布局文件并检查它,而无需创建整个救援镜像。
布局文件描述了原始系统的整个存储布局,但有一些例外,因为 ReaR 从布局文件中排除了一些存储组件,并在恢复过程中重新创建它们。从布局中排除存储组件是由以下配置变量控制的:
-
AUTOEXCLUDE_DISKS -
AUTOEXCLUDE_MULTIPATH -
AUTOEXCLUDE_PATH -
EXCLUDE_RECREATE
通过配置变量从布局文件中排除某些文件系统也会从备份中排除它们的内容。您还可以使用 BACKUP_PROG_EXCLUDE 配置变量,从备份中排除文件或目录树,而无需从布局文件中排除文件系统。
当以这种方式排除了文件系统中的所有文件和目录时,文件系统会在恢复过程中重新创建,但将为空,因为备份不包含要恢复到其中的任何数据。这对包含临时数据且不需要保留的文件系统,或者对于使用独立于 ReaR 的方法备份的数据很有用。
BACKUP_PROG_EXCLUDE 变量是一个传递给 tar 或 rsync 的 glob 样式通配符模式的数组。请注意,在读取配置文件时,需要将模式括在引号中,以防止它们被 shell 扩展。此变量的默认值在 /usr/share/rear/conf/default.conf 文件中设置。默认值包含,例如 /tmp/* 模式,它排除了 /tmp 目录下的所有文件和目录,但不排除 /tmp 目录本身。
如果您需要排除其他文件和目录,请将带有 + 字符的其它模式附加到变量中,而不是覆盖它来保留默认值。例如,除了默认值外,还要排除 /data/temp 目录下的所有文件和目录,请使用:
BACKUP_PROG_EXCLUDE+=( '/data/temp/*' )
BACKUP_PROG_EXCLUDE+=( '/data/temp/*' )
您可以查看 /usr/share/rear/conf/default.conf 文件中配置变量的默认值,并可以在本地 /etc/rear/local.conf 配置文件中更改这些值。
您还可以配置哪些文件由内部 NETFS 和 RSYNC 备份方法进行备份。默认情况下,如果文件系统包含在布局文件中,所有已挂载的基于磁盘的文件系统上的文件都是由 rear mkbackup 或 rear mkbackuponly 命令备份的。
rear mkbackup 命令在日志中列出备份排除模式。您可以在 /var/log/rear 目录中找到日志文件。这可用于在执行全系统恢复前验证排除的规则。例如,日志可以包含以下条目:
在前面的输出中,整个 root 文件系统包含在备份中,但 /tmp、/dev/shm 和 /var/lib/rear/output 目录下的所有文件和目录除外。