Не следует использовать dd
если вы хотите исключить некоторые каталоги и / или файлы, это почти невозможно (без повреждения файловой системы, удаляя сектора, казалось бы, наугад).
И вы не можете сделать надлежащую резервную копию dd
для смонтированного раздела, по тем же причинам, по которым вы не можете fsck
смонтированного раздела (поскольку звучит так, будто вы спрашиваете: «Я хочу` dd if = sda of = sda "»).)
И вы можете сделать это с помощью dd
вместо использования pv
:
Отправка сигнала USR1 в работающий процесс 'dd' заставляет его печатать статистику ввода-вывода со стандартной ошибкой, а затем возобновляет копирование.
$ dd if=/dev/zero of=/dev/null& pid=$!
$ kill -USR1 $pid; sleep 1; kill $pid
18335302+0 записей в 18335302+0 записей из 9387674624 байт (9,4 ГБ) скопировано, 34,6279 секунд, 271 МБ / с
Но вам, вероятно, лучше использовать tar
с некоторыми опциями, такими как:
--exclude=PATTERN
exclude files, given as a PATTERN
--exclude-tag=FILE
exclude contents of directories containing FILE, except
--exclude-tag-all=FILE
exclude directories containing FILE
--exclude-tag-under=FILE
exclude everything under directories containing FILE
-z, --gzip, --gunzip --ungzip
-J, --xz
-T, --files-from FILE
get names to extract or create from FILE
-X, --exclude-from FILE
exclude patterns listed in FILE
Смотрите man tar
и бесчисленные примеры в сети.
Если вы не создаете резервные копии какой-то странной ОС или программ, которые ожидают, что файлы будут находиться в определенном месте на диске, то вам может потребоваться копия dd
всего немонтированного раздела / диска, переданного по gzip
/ xz
/ etc.