我有一个 lvm 快照,我想看看有哪些文件更改、添加或删除(只要文件列表就足够了。)
有没有简单的方法来获取该列表?
提前感谢任何回复。
答案1
- 以只读方式挂载旧快照
mount /dev/snapshot-somewhere /snap
- 列出真实文件系统和快照上的文件列表
cd /snap; ls -lR . >/tmp/list.snap
(或使用 mtree 或 rsync 制作列表) - 比较列表
diff -u list.real list.snap
rsync 只需一个参数即可创建文件列表:
$ cd /tmp
$ rsync -r .
drwxrwxrwt 612 2012/01/19 10:43:15 .
-rwxr-xr-x 9444 2012/01/19 08:43:13 foo
mtree 可以创建一个文件,它可以检查该文件是否根据生命文件系统发生变化:
$ cd /tmp/tree
$ mtree -c > /tmp/list.mtree
$ touch bar.c
$ echo '/* comment */' >> foo.c
$ mtree < /tmp/list.mtree
$ mtree < /tmp/desc
. changed
modification time expected Thu Jan 19 11:18:11 2012 found Thu Jan 19 11:20:46 2012
bar.c extra
foo.c changed
size expected 1350 found 1364
modification time expected Thu Jan 19 11:18:11 2012 found Thu Jan 19 11:21:26 2012