Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

14.3. 跟踪 Snapper Snapshots 间的更改

使用 状态diffxadiff 命令来跟踪在快照之间对子卷所做的更改:
status
status 命令显示在两个快照之间创建、修改或删除的文件和目录列表,这是两个快照之间更改的完整列表。您可以使用此命令获得更改的概述,而无需过量详情。
diff
如果至少检测到一次修改,则 diff 命令显示从 status 命令接收的两个快照之间的修改文件和目录差异。
xadiff
xadiff 命令比较两个快照之间文件或目录的扩展属性变化。

14.3.1. 将更改与 status 命令进行比较

status 命令显示在两个快照之间创建、修改或删除的文件和目录列表。
要显示两个快照之间的文件状态,请使用:
# snapper -c config_file status first_snapshot_number..second_snapshot_number
如果需要,使用 list 命令确定快照号。
例如,以下命令使用配置文件 lvm_config 显示快照 1 和 2 之间所做的更改。
#snapper -c lvm_config status 1..2
tp.... /lvm_mount/dir1
-..... /lvm_mount/dir1/file_a
c.ug.. /lvm_mount/file2
+..... /lvm_mount/file3
....x. /lvm_mount/file4
cp..xa /lvm_mount/file5
作为列,将输出的第一个部分中的字母和点读为:
+..... /lvm_mount/file3
||||||
123456
列 1 表示对文件(目录条目)类型的任何修改。可能的值有:
列 1
输出含义
.没有改变。
+文件已创建。
-删除文件。
c内容更改。
t目录条目的类型已更改。例如,前一个符号链接已更改为具有相同文件名的常规文件。
列 2 表示文件权限中的任何更改。可能的值有:
列 2
输出含义
.没有更改权限。
p更改了权限。
列 3 表示用户所有权的任何更改。可能的值有:
列 3
输出含义
.没有更改用户所有权。
u用户所有权已更改。
列 4 表示组所有权的任何更改。可能的值有:
列 4
输出含义
.没有更改组所有权。
g组所有权已更改。
列 5 表示扩展属性中的任何更改。可能的值有:
列 5
输出含义
.没有更改扩展属性。
x扩展属性已更改。
列 6 表示访问控制列表(ACL)中的任何更改。可能的值有:
列 6
输出含义
.没有更改 ACL。
a修改 ACL。

14.3.2. 将更改与 diff 命令进行比较

diff 命令显示两个快照之间修改的文件和目录的更改。
# snapper -c config_name diff first_snapshot_number..second_snapshot_number
如果需要,使用 list 命令确定快照的数量。
例如,要比较使用 lvm_config 配置文件在快照 1 和快照 2 之间所做的更改,请使用:
# snapper -c lvm_config diff 1..2
--- /lvm_mount/.snapshots/13/snapshot/file4	19<...>
+++ /lvm_mount/.snapshots/14/snapshot/file4	20<...>
@@ -0,0 +1 @@
+words
此输出显示 file4 已被修改,以将"词语"添加到文件中。

14.3.3. 将更改与 xadiff 命令进行比较

xadiff 命令比较文件或目录的扩展属性在两个快照之间变化的方式:
# snapper -c config_name xadiff first_snapshot_number..second_snapshot_number
如果需要,使用 list 命令确定快照的数量。
例如,要显示使用 lvm_config 配置文件执行的快照号 1 和快照号 2 之间的 xadiff 输出,请使用:
# snapper -c lvm_config xadiff 1..2