如何从损坏的硬盘复制文件,如果在 Linux 中花费的时间太长则跳过单个文件

如何从损坏的硬盘复制文件,如果在 Linux 中花费的时间太长则跳过单个文件

我的硬盘损坏了,其 Raw_Read_Error_Rate 值非常高(50k!),但 Reallocated_Sector_Ct、Reallocated_Event_Count 和 UDMA_CRC_Error_Count 均为 0。

我有一个目录,里面有超过 1000 个文件,我想恢复这些文件。我尝试过:

  1. cp到 newHDD。cp 一会儿后挂起。
  2. rsync -av 到 newHDD,同样挂起。
  3. 用Thunar拖动并复制,同样挂起。
  4. tar 损坏目录,同样挂起。

但并非所有文件都已损坏,我尝试随机复制一些文件,并且确实成功复制。

我的问题是,如果复制文件的时间超过 2 分钟,是否有办法跳过该过程?行为如下:

当“目录中的所有文件”{ 复制文件A { 如果复制需要> n 分钟,则跳过,继续下一步。 } 完成 } 谢谢。

答案1

您可以尝试使用rsync以下选项:

rsync --archive --update --verbose --delete --ignore-errors /path/source_folder/ /path/dest_folder/

小路:
/path/source_folder/- 损坏数据的文件夹路径
/path/dest_folder/ - 保存数据的文件夹路径

选项:
--archive- 存档模式
--update - 跳过接收方较新的文件
--verbose- 增加详细程度
--delete - 从目标目录(从保存数据的文件夹)删除无关文件
--ignore-errors- 即使存在 I/O 错误也删除

请首先对测试文件夹进行测试并检查结果。

相关内容