Teste compatativo entre discos e/ou partições
Publicado por Joanes Pereira Duarte (última atualização em 21/01/2013)
[ Hits: 4.667 ]
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
Bloquear Whatsapp, Facebook, Youtube e outros pelo IPTABLES
Script em Xdialog para montar / desmontar dispositivos
Mata usuários do FreeNX Server
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Instalando partes faltantes do Plasma 6
Adicionar botão "mostrar área de trabalho" no Zorin OS
Como montar um servidor de backup no linux
Estou tentando ser legalista, mas tá complicado! (9)
espelhar monitores nao funciona (2)
SQLITE não quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (1)









