Интересное

Сообщение об ошибке

Warning: ini_set(): A session is active. You cannot change the session module's ini settings at this time in drupal_environment_initialize() (line 684 of /home/www/nixtalk.com/includes/bootstrap.inc).

Прогрессбар для DD

Опубликовано ср, 12/10/2014 - 05:21 пользователем Demontager

dd progressbar
DD замечательная утилита, которая предназначена для простого копирования файлов, а также для создания точных копий дисков и т.д. Встречается абсолютно во всех дистрибутивах Linux, само собой и в BSD.
Все в ней хорошо и работает как часики при условии правильного задания параметров и понимания процесса, но одна вещь в ней отсутствует напрочь - это индикатор прогресса клонирования/копирования, поэтому покажу как можно следить за этим при помощи некоторых действий.

Способ первый
Установить дополнительную утилиту pv

  1. sudo apt-get install pv

теперь чтобы видеть процесс, к примеру копирования диска в образ, вводим

  1. pv -tpreb /dev/sda | dd of=/home/user/disk.img bs=4096 conv=notrunc,noerror

в данном случае опции pv
-p - прогресс
-t - время
-r - скорость передачи данных
-e - приблизительное время окончания
-b счетчик байтов уже переданных

Способ второй
Не требует установки дополнительных утилит, но не так гибок. Для начала запускаем процесс dd, к примеру

  1. dd if=/dev/urandom of=/dev/null

потом в отдельом окне терминала вводим

  1. sudo kill -USR1 $(pgrep ^dd)

и видим такую картину в терминале где dd

  1. dd if=/dev/urandom of=/dev/null
  2. 101872+0 records in
  3. 101871+0 records out
  4. 52157952 bytes (52 MB) copied, 4.37779 s, 11.9 MB/s
  5. ^C253170+0 records in
  6. 253169+0 records out
  7. 129622528 bytes (130 MB) copied, 10.627 s, 12.2 MB/s

для автоматизации можно сделать так

  1. watch -n5 'sudo kill -USR1 $(pgrep ^dd)'

т.е. каждые 5 секунд будет посылаться kill сигнал процессу dd

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

p.s. dd прогрессбар как на скриншоте можно сделать такой командой

  1. (pv -n /dev/sda | dd of=/home/user/disk.img conv=notrunc,noerror) 2>&1 | dialog --gauge "Running dd command (cloning), please wait..." 10 70 0
category_index: 
Поделится: 

Добавить комментарий