Teste compatativo entre discos e/ou partições
Publicado por Joanes Pereira Duarte (última atualização em 21/01/2013)
[ Hits: 4.413 ]
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
Compactar e descompactar arquivos de forma simples
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
Como ordenar datas corretamente usando o Calc? (2)
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (21)