Возобновить DD при создании ISO-образа диска?

Добавьте операцию сжатия в cron. Добавьте следующую строку в root crontab ( sudo crontab -e ):

0 0 * * * tar -czf /var/log/httpd_backup_`date`.tar.gz /var/log/httpd && rm -rf /var/log/httpd/*

Эта команда создаст tar архив с вашими старыми журналами и удалит существующие. Работа будет начинаться в 0 часов каждый день.

1
01.05.2019, 14:26
3 ответа

Не используйте dd. По крайней мере, не зная, зачем вам это нужно. И никогда без вариантов. Вместо этого используйтеcat

cat /dev/sdc >ssd.img

Я изменил суффикс, потому что вы не создаете ISO (вам понадобятся инструменты mkisoдля этого и, похоже, это не то, что вы действительно хотите сделать ).

0
27.01.2020, 23:18

Да, вы можете продолжить. Обратите внимание, что если какие-либо данные в /dev/sdcизменились с момента первой попытки, вы рискуете получить что-то похожее на сбой панорамы (, но с двоичными данными, а не с графикой ).

Используйте одни и те же входные и выходные файлы с одинаковыми значениями skipи seek, которые в вашем случае должны быть не более 445056121.

Но это предполагает значение по умолчанию bs, которое вы уже использовали, то есть 512. Столь маленькое значение , вероятно, является причиной медлительности, с которой вы столкнулись.

Я бы вычислил большее значение bs, скажем,8M:

mv ssd.iso ssd.img   # because it's not really an ISO
dd if=/dev/sdc of=ssd.img bs=8M skip=27164 seek=27164

где 27164 указывает, сколько полных фрагментов по 8 МБ помещается в эти 227868733952 байта, которые у вас уже есть.

В будущем рассмотрим GNUddrescue(с картографическим файлом ). Преимущества:

  • Инструмент позволяет возобновить работу, повторив исходную команду.
  • Лучше работает, когда возникают ошибки при чтении с устройства, потому что он предназначен для их обработки, а ddнужны специальные опции (это conv=sync,noerrorно это миф они всегда хорошо работают сами по себе , вам также нужно iflag=fullblock). Но даже в этом случае ddможет не прочитать все данные, которые ddrescueбудет читать, если bsбольше, чем размер физического сектора на исходном устройстве.
4
27.01.2020, 23:18

Чтобы продолжить «dd», нужно выполнить следующую команду на Mac

dd if=/dev/sdc of=ssd.iso skip=$(expr $(stat -f%z ssd.iso) / 512) seek=$(expr $(stat -f%z ssd.iso) / 512)

Прежде чем запустить это, я предлагаю вам сначала убедиться, что текущий размер ssd.iso можно разделить на 512.

Вы также можете запустить:

echo "dd if=/dev/sdc of=ssd.iso skip=$(expr $(stat -f%z ssd.iso) / 512) seek=$(expr $(stat -f%z ssd.iso) / 512)"

Чтобы убедиться, что это имеет смысл. Он должен вернуться

dd if=/dev/sdc of=ssd.iso skip=27164 seek=27164

Если копия вырезана, вы можете продолжать выполнять первую команду, пока файл не будет полностью скопирован.

0
22.09.2021, 22:15

Теги

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