Скопируйте все данные с неисправного внешнего USB-накопителя объемом 4 ТБ на новый диск в Linux

Скопируйте все данные с неисправного внешнего USB-накопителя объемом 4 ТБ на новый диск в Linux

Как следует из заголовка, я хотел бы скопировать все данные с неисправного внешнего USB-накопителя емкостью 4 ТБ на новый USB-накопитель емкостью 4 ТБ.

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

Кроме того, поскольку это, скорее всего, займет довольно много времени, я бы хотел скопировать данные, не отключая диск; новые файлы будут добавлены, но никакие файлы не будут изменены, если это имеет какое-либо значение.

Я буду работать из командной строки.

Обновлять:Как и предполагалось, я пробую rsync, используя дополнительные советы отздесь.

sudo rsync -aAXv --log-file=/home/osmc/rsync.log --exclude={"/lost+found"} /mnt/Main/* /mnt/NewMain

Сообщу, как справляется с ошибками при их обнаружении.

решение1

Если вы можете отказаться от необходимости держать диск и его файловую систему смонтированными: загрузитесь с внешнего носителя, чтобы убедиться, что диск неактивен (или извлеките диск и вставьте его в качестве подчиненного в другую машину), а затем используйте ddrescue на каждом (важном) разделе:

ddrescue /dev/sdb1 /mnt/some/large/storage/sdb1backup logfile

Это создаст образ раздела, который затем можно будет смонтировать:

mount -o loop /mnt/some/large/storage/sdb1backup /mnt/image 

ddrescue работает как dd, с самым заметным исключением в том, что он гораздо более многословен. Я настоятельно рекомендую просмотреть man-страницу для опций, относящихся к вашему случаю. Файл журнала позволяет вам выполнять несколько запусков и пропускать сектора, которые уже были успешно извлечены.

Если вам абсолютно необходимо, чтобы он был запущен и работал:rsync -Pravdtz /files somehost:somefolder/

решение2

Ответ, предлагающий использовать rsync, исчез, поэтому я отвечаю сам. Спасибо за совет.

Я пробую rsync, используя дополнительные советы отздесь.

sudo rsync -aAXv --log-file=/home/osmc/rsync.log --exclude={"/lost+found"} /mnt/Main/* /mnt/NewMain

Это заняло довольно много времени, но я смог продолжить использовать систему и даже читать и записывать файлы на диск во время этого. Ошибки, которые возникали, регистрировались и повторялись в конце. В итоге я потерял несколько файлов, но ничего, что было бы для меня очень важным.

Возможно, это не всем подойдет, но мне это было нужно.

Связанный контент