Criando um relatório de hardware - Parte II
30/03/2007
Ok, os comandos que ensinei até aqui são muito úteis, mas pode ser um tanto confuso lembrar de todos eles. Podemos, então, criar um script que rode todos esses comandos, e que direcione a saída para um arquivo de texto.
Segue abaixo o script (em desenvolvimento) que fiz para listar o hardware. Ele me dá todas as informações de que preciso, da forma mais resumida possível. Se preferir, você pode projetar scripts bem mais completos do que este. Aviso que meus conhecimentos de shell-script ainda são básicos, mas acredito que o script esteja razoável.
Repare que no final do script chamo o txt2tags, um programa de Linux feito belo brilhante Aurélio, que converte o txt gerado em página HTML. Por isso há tantas crases no script, elas são necessárias para a marcação do txt2tags. Se você vai gerar apenas um txt pode tirar todas essas entradas que contenham as três crases seguidas.
#!/bin/sh
# Nome: Relatório de Hardware
# Autor: Roberto Magalhães Bechtlufft
# Criado em: 29.03.2007
# Última modificação: 29.03.2007
# Arquivo que vai hospedar o relatório
relatorio=nome_do_arquivo
rm $relatorio
echo "Relatório de Hardware" > $relatorio
echo " " >> $relatorio
echo " " >> $relatorio
# Processador
echo "== Processador ==" >> $relatorio
echo '```' >> $relatorio
sudo dmidecode -t 4 | grep Version | sed 's/\t//g' | sed 's/Version/Modelo/g' >> $relatorio
sudo dmidecode -t 4 | grep "Max Speed" | sed 's/\t//g' | sed 's/Max Speed/Clock/g' >> $relatorio
sudo dmidecode -t 4 | grep "Socket Designation" | sed 's/\t//g' | sed 's/Socket Designation/Soquete/g' >> $relatorio
echo '```' >> $relatorio
# Memória RAM
echo "== Memória RAM ==" >> $relatorio
echo '```' >> $relatorio
cat /proc/meminfo | grep MemTotal | sed 's/MemTotal/Memória Instalada/g' >> $relatorio
echo '```' >> $relatorio
# Particionamento do disco
echo "== Partições ==" >> $relatorio
echo '```' >> $relatorio
sudo fdisk -l >> $relatorio
sudo echo '```' >> $relatorio
echo " " >> $relatorio
# Interfaces PCI e AGP
echo "== Interfaces PCI e AGP ==" >> $relatorio
echo '```' >> $relatorio
lspci >> $relatorio
echo '```' >> $relatorio
# Interfaces USB
echo "== Interfaces USB ==" >> $relatorio
echo '```' >> $relatorio
lsusb >> $relatorio
echo '```' >> $relatorio
# Informações sobre DMA
echo "== DMA ==" >> $relatorio
echo '```' >> $relatorio
for hd in /dev/sd[abcde];
do sudo hdparm -i $hd >> $relatorio;
done
echo '```' >> $relatorio
echo '```' >> $relatorio
for hd in /dev/scd[01234];
do sudo hdparm -i $hd >> $relatorio;
done
echo '```' >> $relatorio
# Gerando arquivo html
txt2tags -t html --encoding=utf-8 $relatorio
| << Volta (Parte I) |
|---|
| LINUX para o resgate - Powered by txt2tags |