[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RES: [shell-script] dd exibir evolução da clonagem
From: |
Julio Cezar Neves - DATAPREVRJ |
Subject: |
RES: [shell-script] dd exibir evolução da clonagem |
Date: |
Mon, 13 Oct 2003 17:15:33 -0300 |
O segundo programa faz um relógio e o primeiro serve somente para testá-lo.
No tstspin.sh vc deve substituir o sleep 30 & por nome-do-seu-programa &. O
$!, 13, 43, 30 são respectivamente: PID do processo recém startado em
background, linha e coluna onde o relógio aparecerá (para não destruir um
eventual conteúdo de tela) e tempo previsto para execução (este último é
opcional).
$ cat tstspin.sh
sleep 30 &
spin.sh $! 13 43 30
$ cat spin.sh
#!/bin/sh
#======================================================================
# Leia: Linux - Programacao Shell ISBN: 85-7452-048-9
# Autor: Julio Cezar Neves <mailto:address@hidden>
#======================================================================
if [ $# -lt 3 ]
then
echo "
Uso: `basename $0` <PID do proc. em background> <No. da Lin.> <No. da
Col.> [Tempo previsto p/ execucao]
"
exit 1
fi
[ $4 ] && Tp=$4
Pon='\|/--\|/--'
Lin1=$2
Col1=$3
Lin2=`expr $Lin1 + 1`
Lin3=`expr $Lin1 + 2`
Lin4=`expr $Lin1 + 3`
Lin5=`expr $Lin1 + 4`
Lin6=`expr $Lin1 + 5`
Col2=`expr $Col1 + 1`
Col3=`expr $Col1 + 2`
Col4=`expr $Col1 + 3`
Col5=`expr $Col1 + 4`
i=0
Decorr=0
tput cup $Lin1 $Col1
echo '+-----+'
tput cup $Lin2 $Col1
echo '| |'
tput cup $Lin3 $Col1
echo '| + |'
tput cup $Lin4 $Col1
echo '| |'
tput cup $Lin5 $Col1
echo '+-----+'
tput cup $Lin6 $Col1
echo 'AGUARDE'
while kill -0 $1 2> /dev/null
do
i=`expr $i % 8 + 1`
case $i in
1) tput cup $Lin3 $Col2
echo " "
tput cup $Lin2 $Col3
echo `echo $Pon | cut -c1`
;;
2) tput cup $Lin2 $Col3
echo " "
tput cup $Lin2 $Col4
echo `echo $Pon | cut -c2`
;;
3) tput cup $Lin2 $Col4
echo " "
tput cup $Lin2 $Col5
echo `echo $Pon | cut -c3`
;;
4) tput cup $Lin2 $Col5
echo " "
tput cup $Lin3 $Col5
echo `echo $Pon | cut -c4,5`
;;
5) tput cup $Lin3 $Col5
echo " "
tput cup $Lin4 $Col5
echo `echo $Pon | cut -c6`
;;
6) tput cup $Lin4 $Col5
echo " "
tput cup $Lin4 $Col4
echo `echo $Pon | cut -c7`
;;
7) tput cup $Lin4 $Col4
echo " "
tput cup $Lin4 $Col3
echo `echo $Pon | cut -c8`
;;
8) tput cup $Lin4 $Col3
echo " "
tput cup $Lin3 $Col2
echo `echo $Pon | cut -c9,10`
;;
esac
sleep 1
if [ $Tp ]
then
Decorr=`expr $Decorr + 1`
Perc=`expr $Decorr \* 100 / $Tp`
[ $Perc -ge 100 ] && Perc=99
[ $Perc -lt 10 ] && Perc=0$Perc
tput cup $Lin6 $Col1
echo "+-$Perc%-+"
fi
done
for i in 1 2 3 4 5 6
do
eval tput cup \$Lin$i $Col1
echo " "
done
[ ]s,
Julio Cezar Neves
-Programa de Software Livre da DATAPREV-
-I Support Free Software-
* +55 21 2528-7070 / +55 21 8112-9988
*address@hidden
> -----Mensagem original-----
> De: Adriano Brand [mailto:address@hidden]
> Enviada em: sábado, 11 de outubro de 2003 20:10
> Para: lista shell-script
> Assunto: [shell-script] dd exibir evolução da clonagem
>
>
> Olá a todos... o script abaixo faz clonagem de hads IDE.
> o problema é que preciso que quem esteja usando veja a
> evolução da cópia
> p/ saber se continua acontecendo ou se travou. alguém tem sugestão?
>
>
>
> #!/bin/sh
> ngr=`tput smso`
> clr=`tput rmso`
> space=" "
> opt () {
> case $tecla in
> 12)ngr=`tput smso`
> clr=`tput rmso`
> space=" "
> echo "$space Clonando unidade...Aguarde, este processo pode
> ser um pouco
> demorado..(aprox.1 hora para HD 20G)"
> echo "$space Parece demorado mas ao comparar com o tempo perdido para
> instalar, fazer backup,instalar drivers,"
> echo "$space atualizar service pack, etc... você vê que vale a pena"
> echo "$space Espere até que seja exibida a tela de confirmação"
> if dd if=/dev/hda of=/dev/hdb 2>/dev/null
> then
> ./ok
> else
> ./erro
> fi;;
> 13) ngr=`tput smso`
> clr=`tput rmso`
> space=" "
> echo "$space Clonando unidade...Aguarde, este processo pode
> ser um pouco
> demorado..(aprox.1 hora para HD 20G)"
> echo "$space Parece demorado mas ao comparar com o tempo perdido para
> instalar, fazer backup,instalar drivers,"
> echo "$space atualizar service pack, etc... você vê que vale a pena"
> echo "$space Espere até que seja exibida a tela de confirmação"
> if dd if=/dev/hda of=/dev/hdc 2>/dev/null
> then
> ./ok
> else
> ./erro
> fi;;
> 14)ngr=`tput smso`
> clr=`tput rmso`
> space=" "
> echo "$space Clonando unidade...Aguarde, este processo pode
> ser um pouco
> demorado..(aprox.1 hora para HD 20G)"
> echo "$space Parece demorado mas ao comparar com o tempo perdido para
> instalar, fazer backup,instalar drivers,"
> echo "$space atualizar service pack, etc... você vê que vale a pena"
> echo "$space Espere até que seja exibida a tela de confirmação"
> if dd if=/dev/hda of=/dev/hdd 2>/dev/null
> then
> ./ok
> else
> ./erro
> fi;;
> 99) ./micros;;
> 00) ./v*_mastertec;;
> *) ./micros_clone;;
> esac
> }
> menu () {
> clear;echo;echo
> echo "$space $ngr Mastertec $clr"
> echo "$space Clonando HD IDE"
> echo "$space ATENÇÃO!!! Cuidado para não copiar o hd em
> branco no hd
> com dados!"
> echo "$space Por se tratar de uma cópia bit a bit esta
> operação pode
> ser um pouco "
> echo "$space lenta,mas em muitos casos é mais interessante do que
> reinstalar,fazer "
> echo "$space backup, procurar drivers, atualizar service
> pack,etc..."
> echo "$space
> ____________________________________________________________________"
> echo "$space 12 - Clonar HD Primario Master (hda) Para
> Primario Slave
> (hdb)"
> echo "$space 13 - Clonar HD Primario Master (hda) Para Secundário
> Master (hdc)"
> echo "$space 14 - Clonar HD Primario Master (hda) Para Secundário
> slave (hdd)"
> echo "$space
> ____________________________________________________________________"
> echo "$space 99 - Volta ao menu anterior"
> echo "$space 00- Volta ao Menu Principal"
> echo "$space
> ______________________________________________________________
> ______";echo
> echo -n "$space Opcao desejada: "
> read -n 2 tecla
> opt;
> }
> menu;
>
>
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de
> programação, como perl, C etc. Quem insistir em não seguir
> esta regra será moderado sem prévio aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
http://www.listasdiscussao.cjb.net
---------------------------------------------------------------------
Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- RES: [shell-script] dd exibir evolução da clonagem,
Julio Cezar Neves - DATAPREVRJ <=