JonixLUG Forum

Tecnicherie Generali => GNU-Linux => Topic started by: lynx on January 30, 2017, 09:22:31 PM

Title: Tricks per controllare lo stato e l'avanzamento del comando dd
Post by: lynx on January 30, 2017, 09:22:31 PM
Quante volte avete avviato un dd e avete atteso con ansia l'esito della scrittura?
Di solito, quando usiamo questo tool, lo avviamo e speriamo che tutto vada per il meglio, senza avere la possibilità di sapere se il processo è attivo, quanti dati abbiamo già trasmesso e soprattutto quanto manca alla fine!
Se poi, per qualche motivo c'è un calo di tensione o per un falso contatto etc. il client si scollega per un attimo, perde inevitabilmente dati preziosi.
Per questo uso un  workaround per controllare lo stato e l'avanzamento del comando dd : pv
pv è un altro software (presente nei repository) che concatena file(s) o un input con un output, e va installato a parte con:
Code: You are not allowed to view links. Register or Login
#apt-get install pve si può usare con le opzioni aggiuntive presenti nel suo
Code: You are not allowed to view links. Register or Login
pv --helpma noi le ometteremo.

Come si usa:
basta concatenare l'input del nostro comando con l'output di pv attraverso delle | "pipe" o barra verticale https://it.wikipedia.org/wiki/Barra_verticale#Unix (https://it.wikipedia.org/wiki/Barra_verticale#Unix)
Nel nostro caso è abbastanza semplice, genericamente si fa così:
Code: You are not allowed to view links. Register or Login
dd if=input |pv| dd of=output
un esempio più completo:
Code: You are not allowed to view links. Register or Login
sudo dd if=/dev/sdb1 |pv| sudo dd of=/dev/sdc1 && syncl'output sarà una stringa dinamica che indica la quantità dei dati trasmessi, il tempo trascorso e la velocità di trasferimento, del tipo:
Code: You are not allowed to view links. Register or Login
6,13GiB 0:28:59 [3,61MiB/s]Ciò rende possibile una stima del tempo mancante molto realistica (facendo 2 conti al volo) ed evidenzia eventuali problemi, oltre a dare la certezza che lo script avviato stia procedendo come previsto.

In fine ci mostra un risultato tipo:
Code: You are not allowed to view links. Register or Login
6580862976 byte (6,6 GB) copiati, 1748,43 s, 3,8 MB/sche può servire a capire se i dati scritti sono gli stessi previsti.
Spero possa tornare utile a qualcuno.
Title: Re:Tricks per controllare lo stato e l'avanzamento del comando dd
Post by: davenull on January 31, 2017, 01:32:19 AM
mi hai fregato sul lempo, lo stavo per scrivere io :'(
Title: Re:Tricks per controllare lo stato e l'avanzamento del comando dd
Post by: g on January 31, 2017, 07:39:10 AM
Se (http://www.vocinelweb.it/faccine/sport/22.gif) mèèènenooo...coreeeteeee (http://www.vocinelweb.it/faccine/cibo/16.gif)
Title: Re:Tricks per controllare lo stato e l'avanzamento del comando dd
Post by: devilicecream on February 03, 2017, 06:36:08 AM
Sul mio vecchio ubuntu avevo un alias che lo accodava in automatico (altrimenti me lo dimentico sempre). Qui sul Applecoso mi limito a floodare di ctrl-t e poi mi faccio il calcolo. Esiste però pv compilato per Darwin, appena ho tempo mi riscriverò l'alias anche qui.
Title: Re:Tricks per controllare lo stato e l'avanzamento del comando dd
Post by: davenull on February 03, 2017, 02:36:19 PM
mo vedo se ci tiro su uno script che lo fa in automatico