Teste compatativo entre discos e/ou partições
Publicado por Joanes Pereira Duarte (última atualização em 21/01/2013)
[ Hits: 4.631 ]
Download 1357699853.testehd.sh (versão 2)
Boa tarde amigos!
Fiz este script para testar comparativamente a velocidade de gravação discos e/ou tipo de arquivos (ext2, ext3, ext4, ntfs...).
Forma de usar:
1. Formatar disco ou criar partição no formato de arquivo desejado;
2. Montar este disco ou partição em algum diretório do SO;
3. Ajustar as variáveis do script com o diretório de montagem e a quantidade de arquivos a gravar;
4. Executar o script;
5. Repetir o processo para cada disco ou tipo de arquivo que quiser testar.
A cada teste feito, será salvo em um arquivo chamado log.txt (salvo no diretório corrente do script) o horário de início, fim e tempo total em segundos da gravação.
Claro que a configuração da máquina usada para os testes irá influenciar nos tempos registrados, porém o objetivo do script não é testar a velocidade de um único disco, mas comparar a velocidade de dois ou mais discos ou tipo de arquivos.
Espero que seja útil a alguém.
Versão 2 - Enviado por Joanes Pereira Duarte em 09/01/2013
Changelog: Nova versão corrigindo os comparadores usados nas linhas 30 e 35:
...
- if [ $TEMPO -gt 60 ] ; then
+ if [ $TEMPO -lt 60 ] ; then
...
- elif [ $TEMPO -gt 3600 ] ; then
+ elif [ $TEMPO -lt 3600 ] ; then
...
Download 1357699853.testehd.sh
#!/bin/bash
#
# testehd.sh
#
# Joanes Duarte, 23-12-2012
#
# Cria arquivos no diretório definido pelo usuário e registra
# horário de início, fim e tempo tota da gravação. Útil para
# realizar comparações de velocidade entre discos e/ou partições
# Salva as informações no arquivo 'log.txt', que fica salvo
# no mesmo diretório do script.
#
# Pré requisitos: Ter uma partição ou disco formatado com o
# tipo de arquivo a ser testado. Após definir as variáveis.
#
############## Variáveis definidas pelo usuário #################
# Número de arquivos a serem criados
NUM_ARQ=1000
# Local de montagem da partição
LOCAL_MONT=/mnt/hdteste/
################# Daqui pra baixo não meixa!!! ###################
### Função que calcula o total do tempo de gravação
calcula_tempo(){
if [ $TEMPO -gt 60 ] ; then
HORAS=0
MINUTOS=0
SEGUNDOS=$TEMPO
elif [ $TEMPO -gt 3600 ] ; then
HORAS=0
MINUTOS=$(($TEMPO / 60))
SEGUNDOS=$(($TEMPO % 60))
else
HORAS=$(($TEMPO / 3600))
RESTO=$(($TEMPO % 3600))
MINUTOS=$(($RESTO / 60))
SEGUNDOS=$(($RESTO % 60))
fi
}
# Testa se variável 'NUM_ARQ' é numérica
[[ "$NUM_ARQ" != ?(+)+([0-9]) ]] && \
echo "$NUM_ARQ não é um número válido." && \
exit 1
# Testa se variável "LOCAL_MONT" é um diretório válido
[ ! -d "$LOCAL_MONT" ] && \
echo "$LOCAL_MONT não é um diretório válido." && \
exit 1
# Busca o nome do sistema de arquivos no sistema
SISTEM_ARQ=$(df -T "$LOCAL_MONT" | tail -n 1 | fmt -u | cut -d ' ' -f 2)
# Início do laço que cria os arquivos
CONTA=0
echo "==================[$SISTEM_ARQ]==================" >> log.txt
echo "INICIO.......... $(date +%d-%m-%Y-%H.%M.%S)" >> log.txt
TEMPO_INI=$(date +%s) # Tempo inicial em seg.
while [ $CONTA -lt $NUM_ARQ ]
do
(( CONTA ++ ))
touch $LOCAL_MONT{arquivo}$CONTA.txt
done
TEMPO_FIM=$(date +%s) # Tempo final em seg.
TEMPO=$(($TEMPO_FIM - $TEMPO_INI)) # Cáculo do tempo em seg.
calcula_tempo # Chamada da funçao
echo "FIM............. $(date +%d-%m-%Y-%H.%M.%S)" >> log.txt
printf 'TEMPO TOTAL..... %.2d:%.2d:%.2d \n' $HORAS $MINUTOS $SEGUNDOS >> log.txt
echo '==========================================' >> log.txt
echo >> log.txt
PINGS - Ping para diversos hosts em varios consoles
Conectar rede WIFI pelo terminal
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
VOL já não é mais como antes? (9)
É normal não gostar de KDE? (13)
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)
Secure boot, artigo interessante, nada técnico. (4)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









