Visualizzare il progresso del comando linux dd


Il comando dd di linux è estremamente potente e versatile, per, ad esempio, clonare interi hard disk o singole partizioni. L’unica pecca è che durante una copia di un hard disk, che può richiedere molto tempo, il comando non ci restituisce a video nessuna informazione sull’andamento della copia, ecco come risolvere il problema.
Ipotizziamo che stiamo clonando il disco /dev/sdv su un file di immagine con il seguente comando:

sudo dd if=/dev/sdc of=~/Immagine.img

per vedere a che punto passa il comando, apriamo un’altra finestra del terminale e andiamo a recuperare il “segnal process” di dd, con questo comando

pgrep -l '^dd$'

ora mandiamo un segnale a dd con il seguente comando:

sudo kill -USR1 xxxxx

dove “xxxxx” è il segnal process restituito da pgrep dal comando precedente, con questa operazione, dd interromperà per un istante il suo lavoro di copia, stamperà a video lo stato di avanzamento, e riprenderà la copia. Le informazioni saranno visualizzate sul terminale dove dd stava operando e quindi non appena sotto la chiamata a kill…

Possiamo ripetere il comando kill quante volte vogliamo, o in alternativa, possiamo pianificare che venga eseguito ad un intervallo prestabilito, con il seguente comando:

watch -n 30 kill -USR1 xxxxx

dove, anche in questo caso, “xxxxx” è il segnal process restituito da pgrep precedentemente, ed il numero dopo il parametro “n” indica l’intervallo in secondi

(Possiamo ovviamente interrompere watch con un bel CTRL+C)

Enjoy your dd usage!

I commenti sono stati disattivati.