dd
est une merveille. Il vous permet de dupliquer un disque dur sur un autre, de remettre complètement à zéro un disque dur, etc. Mais une fois que vous lancez un dd
commande, il n'y a rien pour vous informer de sa progression. Il reste juste à côté du curseur jusqu'à ce que la commande se termine. Alors comment suivre la progression de dd ?
Réponses
Trop de publicités?
zevero
Points
189
Raj J
Points
677
Kostyantyn
Points
556
zilch
Points
36
J'aime beaucoup ddrescue, il fonctionne comme dd mais donne une sortie et n'échoue pas en cas d'erreur, au contraire il a un algorithme très avancé et essaie vraiment de faire une copie réussie... Il y a aussi beaucoup d'interfaces graphiques pour cela
Projet : https://www.gnu.org/software/ddrescue
Wikipedia : https://en.wikipedia.org/wiki/Ddrescue
midenok
Points
692
J'ai créé un wrapper bash sur dd
qui utilisera pv
pour montrer le progrès. Mettez-le dans votre .bashrc
et utiliser dd
comme d'habitude :
# dd if=/dev/vvg0/root of=/dev/vvg1/root bs=4M
2GB 0:00:17 [ 120MB/s] [===========================================================>] 100%
0+16384 records in
0+16384 records out
2147483648 bytes (2.1 GB) copied, 18.3353 s, 117 MB/s
Source :
dd()
{
local dd=$(which dd); [ "$dd" ] || {
echo "'dd' is not installed!" >&2
return 1
}
local pv=$(which pv); [ "$pv" ] || {
echo "'pv' is not installed!" >&2
"$dd" "$@"
return $?
}
local arg arg2 infile
local -a args
for arg in "$@"
do
arg2=${arg#if=}
if [ "$arg2" != "$arg" ]
then
infile=$arg2
else
args[${#args[@]}]=$arg
fi
done
"$pv" -tpreb "$infile" | "$dd" "${args[@]}"
}