Поскольку cp и dd не годятся для возобновления передачи, я бы использовал
rsync -avP <yoursdcardmount> <dest>
и повторяйте это до тех пор, пока не будет возвращено сообщение об ошибке
Он скопирует столько, сколько сможет, а затем перезапустится с того места, где остановился. Напоследок попробую проверить целостность
rsync -avc <yoursdcardmount> <dest>
Если вы обнаружите, что доступ к определенному файлу является источником ошибки, добавьте его в список исключений.
Вы можете поместить локальные пути мягких ссылок в файл с именем local.txt
и исходные пути в файл с именем original
, а затем запустить эту команду:
paste original.txt local.txt | sed 's/synopsys.*synopsys/synopsys/' | sed 's/.db/.ssg.rev1d0u2p2.072v.0c.TSMC7N_1P13M1X1XA1YA5Y2YY2Z1ALRDL.db/'
/proj/br_ccd_lib/macro/DUALDFTIO/0/synopsys/DUALDFTIO.TSMC7N.ssg.rev1d0u2p2.072v.0c.TSMC7N_1P13M1X1XA1YA5Y2YY2Z1ALRDL.db
/proj/br_ccd_lib/macro/ESD18V/0/synopsys/ESD18V.TSMC7N.ssg.rev1d0u2p2.072v.0c.TSMC7N_1P13M1X1XA1YA5Y2YY2Z1ALRDL.db
Это решение предполагает, что все пути в файле local.txt
заканчиваются на .db
, а все пути в local.txt эквивалентны путям вoriginal.txt