|
From: | Alfredo Casanova |
Subject: | Re: [shell-script] Barra de progresso no CP |
Date: | Wed, 20 Mar 2019 18:28:20 -0300 |
There is now an official way to do this in rsync (version 3.1.0 protocol version 31, Tested with Ubuntu Trusty 14.04).
#> ./rsync -a --info=progress2 /usr .
305,002,533 80% 65.69MB/s 0:00:01 xfr#1653, ir-chk=1593/3594)
I tried with my /usr
folder because I wanted this feature for tranferring whole filesystems, and /usr
seemed to be a good representative sample.
The --info=progress2
gives a nice overall percentage, even if it's just a partial value. In fact, my /usr
folder is more than 6 gigs:
#> du -sh /usr
6,6G /usr/
and rsync
took a lot of time to scan it all. So almost all the time the percentage I've seen was about 90% completed, but nonetheless it's comforting to see that something is being copied :)
References:
Pesquisa o comando pv.Não sei se é possível aplicar ao rsync.Prezados tudo bem?
Estava copiando cerca de 400GB esses dias e demorou demais, senti a falta de uma barra de progresso/porcentagem, descobri que poderia usar o 'rsync -r --progress SOURCE DEST'.
Essa solução não me agradou, entao como eu amo nosso querido shell, me dispus a criar uma para o CP, e ficou muito boa, porém, sabe quando falta aquele detalhe, aquele tempero na comida? então, só que daqui para frente eu não sei mais o que fazer para resolver isso, segue o código abaixo.
Como eu quero fazer, eu quero que a barra seja exibida da seguinte forma:
[ 100% ................................................................................................... ]
Como ela é exibida:
[ 100% ...................................................................................................
O número da porcentagem vai variando, e os pontos também, como eu fiz especifico para usar com o CP, tudo funciona muito bem, ele faz tudo baseado em procentagem, e em tamanho do arquivo, para poder calcular a porcentagem, porém, queria colocar um limite igual no 1° exemplo, mas o colchete do final vai ficar andando.
Alguem teria uma solução?
Desde já muito obrigado pela ajuda de todos.
Código:
---------------------------------------------------------------------------------------------------------
#!/bin/bash
car=""
origem="$1"
destino="$2"
tamanho="$(du -bs $origem | awk '{print $1}')"
zeroo=0
umm=1
tput civis -- invisible
while [ "$zeroo" -lt "$umm" ]; do
cp -aR $origem $destino & pid=$!
while ps -p $pid &>/dev/null; do
tamanho_origem="$(du -bs $origem | awk '{print $1}')"
tamanho_destino="$(du -bs $destino | awk '{print $1}')"
indice=$(($tamanho_destino * 100 / $tamanho_origem))
car="$(echo "`seq -s '.' $indice | tr -d [:digit:]`")"
for h in er
do
echo -ne "\\r[ $indice% $car"
done
umm=$((umm - 1))
tput cnorm -- normal
done
echo ""
done
---------------------------------------------------------------------------------------------------------
[Prev in Thread] Current Thread [Next in Thread]
- Barra de progresso no CP, brunodiasinfo, 2019/03/20
- Re: [shell-script] Barra de progresso no CP, Alfredo Casanova, 2019/03/20
- Assunto: Re: [shell-script] Barra de progresso no CP, bruno dias, 2019/03/20
- Re: [shell-script] Barra de progresso no CP, Alfredo Casanova <=
- Assunto: Re: [shell-script] Barra de progresso no CP, bruno dias, 2019/03/20
- Re: [shell-script] Barra de progresso no CP, Paulo, 2019/03/20
- RE: [shell-script] Barra de progresso no CP, Maik Alberto, 2019/03/20
- RE: [shell-script] Barra de progresso no CP, brunodiasinfo, 2019/03/21
- RE: [shell-script] Barra de progresso no CP, Maik Alberto, 2019/03/21
- RE: [shell-script] Barra de progresso no CP, Maik Alberto, 2019/03/21
- RE: [shell-script] Barra de progresso no CP, brunodiasinfo, 2019/03/21
- Re: [shell-script] Barra de progresso no CP, Julio C. Neves, 2019/03/21
- Re: [shell-script] Barra de progresso no CP, brunodiasinfo, 2019/03/21
- Re: [shell-script] Barra de progresso no CP, Julio C. Neves, 2019/03/21
- Prev by Date: Assunto: Re: [shell-script] Barra de progresso no CP
- Next by Date: Assunto: Re: [shell-script] Barra de progresso no CP
- Previous by thread: Assunto: Re: [shell-script] Barra de progresso no CP
- Next by thread: Assunto: Re: [shell-script] Barra de progresso no CP
- Index(es):