Teste compatativo entre discos e/ou partições
Publicado por Joanes Pereira Duarte (última atualização em 21/01/2013)
[ Hits: 4.482 ]
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
Baixando arquivos do Megaupload
Verificar status do banco de dados HyperFile-Sql
Padronização de usuários em vários micros
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
tux-gpt - Assistente de IA para o Terminal
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
O Que Fazer Após Instalar Ubuntu 25.04
Os empreguim de meu Deus estão cada vez mais tecnológicos (7)
Atalhos duplicados (sobras de instalações anteriores) (1)
Autenticação necessária. um aplicativo quer acesso ao chaveiro (3)