Как я могу автоматизировать ddrescue от сбойного жесткого диска USB?

У меня интересная проблема ...

Друг попросил меня восстановить данные с неисправного внешнего (usb) жесткого диска, что я и делал с помощью утилиты ddrescue. Однако каждые несколько часов диск перестает отвечать (именно поэтому я восстанавливаю данные), и скорость чтения падает до 0. В этот момент, если я отключу его на 5 минут и снова подключу, я могу перезапустить ddrescue и продолжить восстановление , Мне интересно, есть ли какой-нибудь способ автоматизировать это, поскольку скорость чтения довольно низкая, и есть много данных для восстановления.

Я могу выключить диск, используя:

udisks --unmount /dev/sdd1
udisks --detach /dev/sdd

Но я не нашел способа снова раскрутить диск после того, как он был «отсоединен»

Другой проблемы у меня нет Выяснилось, что есть какой-то способ выяснить, когда скорость чтения упала до 0, и пришло время сделать этот цикл питания.

У кого-нибудь есть идеи?

3
задан 17 October 2012 в 06:50

1 ответ

Вы можете попробовать usbctl или uhubctl . Оба инструмента могут выключать / включать USB-порты, если ваш чипсет USB поддерживает это.

После того, как вы выключите и включите порт с внешним диском, он должен быть снова распознан.

Чтобы автоматизировать это, можно либо отслеживать активность процесса с помощью lsof или аналогичного, либо просто наблюдать за растущим размером выходного файла изображения, и если размер не изменяется через некоторое время, pkill ddrescue один раз, дождитесь его завершения. затем выключите и снова включите диск и перезапустите процесс восстановления.

0
ответ дан 17 October 2012 в 06:50

Другие вопросы по тегам:

Похожие вопросы: