Как сделать резервную копию раздела (не всего диска) на другом разделе на внешнем жестком диске с помощью DD?
Я добился этого с помощью следующей команды:
sudo dd if=/dev/sda6 of=/dev/sdb3 bs=1M
Однако мои требования:
Мне нужно сделать резервную копию /dev/sda6
и сохранить это как файл изображения (.img
) в /dev/sdb3
Предпочтительно в виде сжатого (.gz) файла изображения (на самом деле это то, что я пытаюсь достижения)
(Вот мои глупые попытки, которые, очевидно, не сработали:
sudo dd if=/dev/sda6 of=/dev/sdb3/backup.img bs=4096 conv=notrunc,noerror
sudo dd bs=1M if=/dev/sda6 | gzip -c > /dev/sdb3/backup.gz
Если /dev/sdb3
не , на самом деле смонтировался на /dev/sdb3
(я сомневаюсь относительно него, исследование немного в области устройств и точек монтирования), Вы должны были бы:
/dev/sdb3
смонтирован. Используйте эти mount
команда для этого. Предположите, что /dev/sdb3
смонтирован в /home
. Точка Ваш файл, пишущий в то место:
sudo dd if=/dev/sda6 of=/home/backup.img
Когда-то сделанный, проверьте, что img файл содержит то, что Вы ожидаете.
кроме того, там какая-либо потребность создать резервную копию всего раздел ? Я обычно нахожу его легче и более полезным для поддержки файлов с помощью rsync
или что-то подобное, тогда в случае необходимости сжимая получающийся резервный каталог. Но это действительно ваше дело.
То, что Вы хотите сделать, включает 3 простых шага:
Создание дискового файла
Использовать fallocate
создать и предварительно выделить блоки дисковому файлу. Это намного быстрее, чем создание файла путем заполнения его нулевым использованием dd
или другие инструменты. Для определения размера дискового файла, можно использовать MB/MiB/GB/GiB
префиксы. Например, если Вы хотите образ диска с размером 50 гибибайт, Вы делаете
$ fallocate -l 50GiB part_backup.img
Отформатируйте дисковый файл. В этом примере я использую ext4
и отключите опцию журналирования, потому что нет никакой потребности в ней в этом случае
$ mkfs.ext4 -O '^has_journal' part_backup.img
Теперь, когда мы имеем наш готовый дисковый файл, монтируем дисковый файл с losetup
. Передача --show
опция к нему так, это печатает устройство закольцовывания, что Ваш дисковый файл смонтирован к, например, /dev/loop0
$ sudo losetup --show -f part_backup.img
Создайте папку монтирования в /mnt
и смонтируйте устройство закольцовывания к папке
$ sudo mount /dev/loop0 /mnt/my_disk_file
Копирование данных из раздела в дисковый файл
Использовать rsync
для копирования файлов в дисковый файл, Вы просто смонтировались.
$ sudo rsync -avzPSX /mnt/media_partition/ /mnt/my_disk_file
Ищите то, что выбирает каждый из тех rsync, делает в rsync человеке, если Вы - unusure. Также прочитайте примечание о запаздывающей наклонной черте в источнике резервной копии
Сожмите дисковый файл
Размонтируйте дисковый файл согласно нормальному
$ sudo umount /mnt/my_disk_file
$ sudo losetup -d /dev/loop0
Использовать gzip
сжимать дисковый файл