文件在传输过程中损坏/丢失?恢复可能吗?

文件在传输过程中损坏/丢失?恢复可能吗?

几天前,我在大学时尝试将一个 500Mb 文件(3gp 视频录制)剪切并粘贴到大学网络的一台 Linux (Debian KDE 3.5) 计算机上的 H 驱动器中。

我没有看到任何指示剪切和粘贴作业失败的错误消息,但当我查看生成的粘贴文件时,它现在显示为 60Mb 文件(这是 440Mb 的差异!)。我的文件不知何故缩小了!文件是否在粘贴过程中被破坏并且这是不完整复制文件的片段?

我怀疑发生的情况是由于管理员对用户施加的 H 驱动器大小分配限制,文件传输被中断。

但您可能认为 Linux 会预料到该文件比可能移动到预期目的地的文件大并中止传输它开始了,而不是等到它达到某个禁止的限制然后在不通知我的情况下谨慎地取消。

另外,在文件传输中断的情况下,人们通常希望原始文件在原始 USB 驱动器中保持完整(即不被删除)?

该文件出现在目标中,但现在小得多并且不起作用。外部驱动器上源位置中的原始文件已消失,表明作业已成功完成。

这种大小调整相当奇怪,现在我似乎无法访问原始文件。剪切并粘贴后,原件可能已从其源位置删除。计算机错误地处理了这项任务,显然导致我丢失了我的文件,我希望你能帮助我找回我的文件。

我尝试使用 PhotoRec 和 Sleuthkit 取证工具恢复手机 SD 卡上的文件。没有运气。磁盘的已删除部分可能已被新数据覆盖。所以源端的进度为零。有什么方法可以在目标端(即我的大学网络)恢复?

peter@peter-deb:/media/E0FD-1813$ cd DCIM/
peter@peter-deb:/media/E0FD-1813/DCIM$ cd ..
peter@peter-deb:/media/E0FD-1813$ cd LOST.DIR/
peter@peter-deb:/media/E0FD-1813/LOST.DIR$ ls
peter@peter-deb:/media/E0FD-1813/LOST.DIR$ ls -a
.  ..
peter@peter-deb:/media/E0FD-1813/LOST.DIR$ 

答案1

首先,从来没有移动网络上的文件,只能复制。成功完成复制后,您随时可以删除原始文件。其次,您的本地系统甚至可能不知道远程存储上存在文件系统配额 - 不要假设甚至可以提前猜测复制操作是否会由于远程配额而失败。就“发送”过程而言,所有字节都已发送到远程端并由远程端接收,并且您想要移动文件,因此现在可以删除原始文件 -文件不见了。

“有办法恢复到目的地吗?” - 没有机会。好吧,也许是一个小。请与网络管理员联系以查看是否只是也许系统实际上收到了完整的文件,但仅向您报告配额内的大小。不要屏住呼吸。

如果我听起来有点严厉,我很抱歉,但似乎有些新习惯是合适的。 :-)

答案2

下次的老派解决方案:

# sync
# sync
# sync
# umount /mnt

(这有点讽刺,因为连续三个同步是传统的并且半迷信的。查一下。 http://utcc.utoronto.ca/~cks/space/blog/unix/TheLegendOfSync

它在 SYSV 时代很有用。

好吧,我花了很长时间才在谷歌上找到这个。 (为什么这么难?民俗迷失了?)无论如何,我建议年轻人阅读 Raymond 的 Unix Folklore 书(这本书……我在亚马逊上找不到……?)。

相关内容