Tecnicherie Generali > GNU-Linux

Tricks per controllare lo stato e l'avanzamento del comando dd

(1/1)

lynx:
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 pv
--- End code ---
e si può usare con le opzioni aggiuntive presenti nel suo
Code: You are not allowed to view links. Register or Loginpv --help
--- End code ---
ma noi le ometteremo.

Come si usa:
basta concatenare l'input del nostro comando con l'output di pv attraverso delle | "pipe" o barra verticale You are not allowed to view links. Register or Login
Nel nostro caso è abbastanza semplice, genericamente si fa così:
Code: You are not allowed to view links. Register or Logindd if=input |pv| dd of=output
--- End code ---

un esempio più completo:
Code: You are not allowed to view links. Register or Loginsudo dd if=/dev/sdb1 |pv| sudo dd of=/dev/sdc1 && sync
--- End code ---
l'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 Login6,13GiB 0:28:59 [3,61MiB/s]
--- End code ---
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 Login6580862976 byte (6,6 GB) copiati, 1748,43 s, 3,8 MB/s
--- End code ---
che può servire a capire se i dati scritti sono gli stessi previsti.
Spero possa tornare utile a qualcuno.

davenull:
mi hai fregato sul lempo, lo stavo per scrivere io :'(

g:
Se mèèènenooo...coreeeteeee

devilicecream:
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.

davenull:
mo vedo se ci tiro su uno script che lo fa in automatico

Navigation

[0] Message Index

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 
There was an error while thanking
Thanking...
Go to full version