У меня поврежден внешний USB жесткий диск. Когда я подключаю устройство к компьютеру, я могу получить доступ к файловой системе примерно за минуту. После этого периода диск продолжает вращаться, но время каждой операции истекает.

Чтобы спасти мои данные, я хочу использовать ddrescue но поскольку устройство перестает работать каждую минуту, это не восстановится, если я не перезагружаю USB-устройство каждый раз, когда происходит тайм-аут чтения, поскольку наиболее вероятная причина этого заключается в том, что что устройство снова зависает. Есть ли способ позволить ddrescue выполнить команду оболочки или около того, когда происходит тайм-аут чтения?

Невозможно подключить внешний жесткий диск через sata, так как внутри нет доступного разъема sata.

1 ответ1

0

Есть ли способ позволить ddrescue выполнить команду оболочки или около того, когда происходит тайм-аут чтения?

Нет, но вы можете использовать это:

-T interval
--timeout=interval
Максимальное время, прошедшее с момента последнего успешного чтения, перед тем как отказаться По умолчанию до бесконечности. [...]

-X n
--max-read-errors=n
Максимальное количество ошибок чтения, разрешенных до отказа. По умолчанию до бесконечности. Выход со статусом 1 если обнаружено более n ошибок чтения. [...]

и запустите ddrescue в цикле (mapfile является обязательным условием, так что ddrescue возобновляет, а не перезапускает) вместе с "командой оболочки или около того".

Я думаю, в некоторых обстоятельствах это может помочь:

-O
--reopen-on-error
Закройте infile, а затем снова открывайте его после каждой ошибки чтения, возникшей на этапе копирования. [...]

В противном случае этот вопрос может быть.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .