问题

问题

我使用 Ubuntu 14.04 的默认备份实用程序。连接后,备份文件存储在外部 USB3 磁盘中。

在这个 Ubuntu 系统上我安装了 VirtualBox,它运行一个旧的 Windows XP 虚拟机。

问题

今天的会话之后,该虚拟机的 .vdi 磁盘严重损坏(我不知道为什么,它看起来像是 Win 问题),我想从备份中将其完全恢复。

因此,我在备份 GUI 中寻找合适的功能,但似乎没有办法通过“点击”恢复单个文件

因此,我首先重命名了损坏的文件,然后尝试从命令行

$ cd ~/VirtualBox VMs/VirtXP
$ mv VirtXP.vdi VirtXP.vdi.corrupt

第一次尝试

$ deja-dup --restore VirtXP.dvi

这将打开 GUI 并显示一个可供选择的日期列表,其中至少包含多行。在我选择一个日期(倒数第二个日期)后,系统会花很长时间进行“准备...”操作,然后告诉我“无法恢复,因为在备份中找不到该文件”。

第二次尝试

$ deja-dup --restore-missing .

这样,它还显示了一个相当不同的列表,尽管花费了很长时间并且有消息(“分析七个月前的文件......”),但只包含一行。(顺便说一句, 这是同一个对话框我从鹦鹉螺 Restore Missing Files...

问题是,这个文件太新了。事实上,它是几个小时前才创建的:备份实用程序一定是在文件损坏后才备份的!所以我不需要这个文件。

问题

我肯定错过了什么。

我不敢相信,只需插入外部硬盘,就会触发新的备份,用新的(损坏的)文件覆盖旧的(好的)文件。对于三个月前备份的文件来说,这也许是正确的,但用今天的文件覆盖昨天的备份显然是错误的。

我如何才能可靠地找到该 .vdi 文件的倒数第二个备份版本?

我如何识别和/或修复最终的错误配置问题?

非常感谢

答案1

我必须承认部分问题是由于文件名输入错误造成的。

部分答案:

正如你在上面看到的,我把.dvi扩展名输错了.vdi。这就是第一次尝试不成功。

事实上,我可以使用以下命令找到足够旧的备份文件duplicity

$ duplicity list-current-files -t 3D file:///media/user/TOSHIBA\ EXT/backup_home_user | grep .vdi

成功找到文件:

Fri Dec  9 09:56:13 2016 home/lorenzo/VirtualBox VMs/VirtXP/VirtXP.vdi

基于此,我再次通过 duplicity 尝试:

$ duplicity restore --file-to-restore VirtualBox\ VMs/VirtXP/VirtXP.vdi -t 3D file:///media/user/TOSHIBA\ EXT/backup_home_user ./restoreDir

...不幸的是,这导致了对“GnuPG 密码”的请求,而我记不住。

因此我继续使用 deja-dup 并再次发出以下命令(这次使用正确的.vdi扩展名):

deja-dup --restore VirtXP.vdi

...因此,选择 12 月 9 日日期后,恢复就成功完成了。

仍有两个问题:

  • 为什么 deja-dup 可以在没有密码的情况下工作,以及我如何才能恢复它?

  • 为什么第二次尝试()没有--restore-missing成功?(没有错误的文件名)

相关内容