Teste compatativo entre discos e/ou partições
Publicado por Joanes Pereira Duarte (última atualização em 21/01/2013)
[ Hits: 4.417 ]
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
Cálculo de número perfeito range
Download de Wallpapers de Fotos do Espaço
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
De volta para o futuro - ou melhor, para o presente (23)
Plasma 6 com partes em inglês (0)
A area de trabalho ficou preta (6)