今天晚上,在某种内核恐慌之后,我不得不硬关闭我的电脑。
当我重新启动时,我注意到我~/.ssh/id_rsa
已被一个空文件替换。
重新启动到 USB 并fsck
在我的主分区上运行报告文件系统状况良好。
仅此一点都不是问题。我访问原始密钥。但是,我担心其他文件可能已被类似截断。
我上次使用 的备份deja-dup
是在三天前,所以我可以完全回滚,但我宁愿只询问deja-dup
从那时起哪些文件发生了变化并寻找“可疑”文件。
这似乎正是 的目的duplicity verify
,所以在浏览了一些手册页之后,我尝试了:
duplicity verify --verbosity 4 --no-encryption file:///path/to/backup/ /home/${USER}
在没有报告更改的情况下运行完成。至少,我预计我~/.ssh/id_rsa
会被检测到,但我已经添加、删除和更改了其他文件。
我的下一次尝试是相同的,但带有--compare-data
标志:
duplicity verify --verbosity 4 --no-encryption file:///path/to/backup/ /home/${USER}
这似乎报告我的主文件夹中的每个文件都是新的,开始如下:
Local and Remote metadata are synchronized, no sync needed.
Last full backup date: Fri Dec 15 11:43:22 2017
Difference found: File . has permissions 1000:1001 700, expected 0:0 555
Difference found: New file .AndroidStudio2.3
Difference found: New file .AndroidStudio2.3/config
Difference found: New file .AndroidStudio2.3/config/inspection
Difference found: New file .AndroidStudio2.3/config/inspection/Default.xml
我已经安装了几个月的 Android Studio,所以它肯定在我三天前的备份中,并且ls
报告Default.xml
仍然存在并且长度为 108 字节。
作为最后的努力,我将目标目录更改为/
,因为在使用时这似乎是根目录duplicity list-current-files
,这需要添加一些正则表达式来限制重复性以仅考虑我的主文件夹:
duplicity verify --verbosity 4 --compare-data --no-encryption --include-regexp ".*home/${USER}/\.ssh.*" --exclude-regexp ".*" file:///path/to/backup/ /
报告我的主文件夹不存在的有趣效果:
Local and Remote metadata are synchronized, no sync needed.
Last full backup date: Fri Dec 15 11:43:22 2017
Difference found: File home is missing
Difference found: File home/${USER} is missing
Difference found: File home/${USER}/.AndroidStudio2.3 is missing
Difference found: File home/${USER}/.AndroidStudio2.3/config is missing
Difference found: File home/${USER}/.AndroidStudio2.3/config/inspection is missing
Difference found: File home/${USER}/.AndroidStudio2.3/config/inspection/Default.xml is missing
在这一点上,我当然只是误解了我应该如何使用重复性。如何验证由 生成的备份deja-dup
?
duplicity list-current-files
有输出开始:
Local and Remote metadata are synchronized, no sync needed.
Last full backup date: Fri Dec 15 11:43:22 2017
Tue Feb 6 19:36:56 2018 .
Wed Aug 2 17:32:09 2017 home
Tue Feb 6 00:38:20 2018 home/${USER}
Sat May 13 18:49:24 2017 home/${USER}/.AndroidStudio2.3
Thu Jun 22 19:42:14 2017 home/${USER}/.AndroidStudio2.3/config
Sat May 13 18:57:45 2017 home/${USER}/.AndroidStudio2.3/config/inspection
Sat May 13 18:57:45 2017 home/${USER}/.AndroidStudio2.3/config/inspection/Default.xml