Inventário de Hardware 3.1
Publicado por Alexandre Martins da Cunha (última atualização em 02/12/2018)
[ Hits: 4.765 ]
Download 1542877916.inventariohw3.4.sh (versão 2)
Precisei esses dias de um inventário de hardware (principalmente, quantidade de memória, quantidade de slots e quais em uso) e não achei nada que fosse aplicado direto pelo terminal, para rodar nas estações.
Versão Atual: 3.1
Histórico:
v1.0 2017-01-10, Alexandre Cunha:
- Versão inicial
v2.0 2017-02-09, Alexandre Cunha:
- Acrescentado suporte a discos;
- Acresentado suporte a partições.
v3.0 2017-02-20, Alexandre Cunha:
- Programa reescrito do zero;
- Refinado o código;
- Uso de variáveis BD e funções(discos, particoes e interfacesRedes).
v3.1 2017-10-03, Alexandre Cunha:
- Removido os ramdrives da lista;
- Corrigido BUG na numeração dos discos;
- Corrigido erro de Ortografia.
Eis a saída do mesmo:
=========================================================
= Informações de inventário - 06/10/2017 18:58 =
=========================================================
Nome do computador: base
1 - SISTEMA
1.1 Informações do Sistema Operacional:
- Arquitetura: x86_64
- Versão do Kernel: 4.9.10-040910-generic
1.2 Informações da Distribuição:
- Distribuição: Debian
- Versão: 8.9
- Codinome: jessie
2 - REDE
2.1-Informações Placa de Rede (eth0):
- Endereço IPv4: 192.168.0.3
- Endereço MAC: 1c:1b:0d:92:9d:8f
3 - HARDWARE
3.1 Processador
- Fabricante: Intel(R) Core(TM) i5-7500 CPU @ 3.40GHz
- Modelo: Intel(R) Core(TM) i5-7500 CPU @ 3.40GHz
- Velocidade (MHz): 3634MHz
- Cache: 6144 KB
3.2 Memória
- Máximo Suportado: 64 GB
- Número de Slot(s): 4
- Quantidade Instalada: 7928MB
- Slot(s) em Uso: 8192
3.3 Discos
3.3.1- Disco sda
- Tamanho : 465,8 GiB
- Tabela de partição : msdos
Partições:
- Nome : sda1
- Tamanho : 367MB
- Tipo : ntfs
- Nome : sda2
- Tamanho : 126GB
- Tipo : ntfs
- Nome : sda3
- Tamanho : 126GB
- Tipo : btrfs
- Nome : sda4
- Tamanho : 248GB
- Tipo : ntfs
3.3.2- Disco sdb
- Tamanho : 2,7 TiB
- Tabela de partição : gpt
Partições:
- Nome : sdb1
- Tamanho : 3001GB
- Tipo : ntfs
3.3.3- Disco sdc
- Tamanho : 1,8 TiB
- Tabela de partição : msdos
Partições:
- Nome : sdc1
- Tamanho : 1999GB
- Tipo : ntfs
- Nome : sdc2
- Tamanho : 1074MB
- Tipo : linux-swap(v1)
Versão 2 - Enviado por Alexandre Martins da Cunha em 22/11/2018
Changelog: # Histórico:
#
# v1.0 2017-01-10, Alexandre Cunha:
# - Versão inicial
#
# v2.0 2017-02-09, Alexandre Cunha:
# - Acresentado suporte a discos
# - Acresentado suporte a partições
#
# v3.0 2017-02-20, Alexandre Cunha:
# - Programa reescrito do zero
# - Refinado o código
# - Uso de variáveis BD e funções(discos, particoes e interfacesRedes)
#
# v3.1 2017-03-20, Alexandre Cunha:
# - Pequenos Ajustes
#
# v3.2 2017-11-06, Alexandre Cunha:
# - Modificado o suporte a Rede para o Debian 9
#
# v3.3 2018-01-10, Alexandre Cunha:
# - Corrigido bug nos discos
#
# v3.4 2018-11-22, Alexandre Cunha:
# - Corrigido bug partição não formatada ou desconhecida
# - Alinhamento da variável BD a direita.
# Licença: GPL.
Download 1542877916.inventariohw3.4.sh
#!/bin/bash # # Inventário de Hardware.sh - Gera o inventário de Hardware # # Site : http://ittisolucoes.com.br # Autor : Alexandre Cunha (Cunha A.M) <alexandremartinscunha@yahoo.com.br> # Manutenção: Alexandre Cunha (Cunha A.M) <alexandremartinscunha@yahoo.com.br> # # ------------------------------------------------------------- # Este programa cria um arquivo com o nome da máquina data e hora, anexando os dados referentes a configuração do hardware # ------------------------------------------------------------- # # # Histórico: # # v1.0 2017-01-10, Alexandre Cunha: # - Versão inicial # # v2.0 2017-02-09, Alexandre Cunha: # - Acrescentado suporte a discos; # - Acrescentado suporte a partições. # # v3.0 2017-02-20, Alexandre Cunha: # - Programa reescrito do zero; # - Refinado o código; # - Uso de variáveis BD e funções(discos, particoes e interfacesRedes). # # v3.1 2017-10-03, Alexandre Cunha: # - Removido os ramdrives da lista; # - Corrigido BUG na numeração dos discos; # - Corrigido erro de ortografia. # # Licença: GPL. if [ $(id -u) != 0 ] ; then echo "Você precisar ser root para rodar esse script" exit 1 ; fi function interfacesRede(){ interfacesRede=`ifconfig | cut -d" " -f1 | grep -v "lo"` numero=1 for interfacesNome in $interfacesRede do echo "2.$((numero++))""-Informações Placa de Rede ($interfacesNome):" >> $BD echo " ""- Endereço IPv4: "`ifconfig $interfacesNome | grep 'inet end' | awk '{print $3}'` >> $BD echo " ""- Endereço MAC: "`ifconfig $interfacesNome | grep HW | cut -c48-` >> $BD echo "" >> $BD done } function particoes(){ particoes=`fdisk -l | grep /dev/ | grep -v Disco | grep $1 | cut -d" " -f1 | cut -d"/" -f3` for particao in $particoes do echo " "" ""- Nome : " $particao >> $BD capacidade=`parted /dev/$particao print | grep $particao | cut -d" " -f3` tipo=`parted /dev/$particao print | grep -v File | grep -v Disk | grep -v model | grep -v Sector | grep -v Partition | grep -v model | cut -d" " -f14` echo " "" ""- Tamanho : " $capacidade >> $BD echo " "" ""- Tipo : " $tipo >> $BD echo " " >> $BD done } function discos(){ discos=`fdisk -l | grep Disco | cut -d" " -f2 | cut -d"/" -f3| sed 's/://g'| grep -v ram` numero=1 for disco in $discos do echo "3.3.$((numero++))""- Disco $disco " >> $BD capacidade=`fdisk -l | grep Disco | grep -e $disco | cut -d" " -f3` >> $BD escala=`fdisk -l | grep Disco | grep -e $disco | cut -d" " -f4 | sed 's/,//g'` >> $BD echo " ""- Tamanho : "$capacidade $escala >> $BD echo " ""- Tabela de partição : "`parted /dev/$disco print | grep "Partition Table" | cut -d" " -f3` >> $BD echo " ""Partições:" >> $BD echo " " >> $BD particoes $disco done } BD=`hostname`.$(date +%d-%m-%Y-%H:%M).log echo "" >> $BD echo "=========================================================" >> $BD echo "= Informações de inventário - `date +'%d/%m/%Y %H:%M'` =" >> $BD echo "=========================================================" >> $BD echo "" >> $BD echo " Nome do computador: `hostname`" >> $BD echo "" >> $BD echo "1 - SISTEMA" >> $BD echo "" >> $BD echo "1.1 Informações do Sistema Operacional:" >> $BD echo " ""- Arquitetura: "`uname -m` >> $BD echo " ""- Versão do Kernel: "`uname -r` >> $BD echo "" >> $BD echo "1.2 Informações da Distribuição:" >> $BD echo " ""- Distribuição: "`lsb_release -i | cut -d: -f2` >> $BD echo " ""- Versão: "`lsb_release -r | cut -d: -f2` >> $BD echo " ""- Codinome: "`lsb_release -c | cut -d: -f2` >> $BD echo "" >> $BD echo "2 - REDE" >> $BD echo "" >> $BD interfacesRede echo "3 - HARDWARE" >> $BD echo "" >> $BD echo "3.1 Processador" >> $BD echo " ""- Fabricante: "`cat /proc/cpuinfo | head -n 31 | grep 'model name' | cut -d : -f2` >> $BD echo " ""- Modelo: "`cat /proc/cpuinfo | head -n 31 | grep 'model name' | cut -d : -f2` >> $BD echo " ""- Velocidade (MHz):" `cat /proc/cpuinfo | head -n 31 | grep 'cpu MHz' | cut -d : -f2 | cut -d . -f1`"MHz" >> $BD echo " ""- Cache: "`cat /proc/cpuinfo | head -n 31 | grep 'cache size' | cut -d : -f2 ` >> $BD echo "" >> $BD echo "3.2 Memória" >> $BD echo " ""- Máximo Suportado: "`dmidecode -t memory | grep 'Maximum Capacity'| cut -d : -f2` >> $BD echo " ""- Número de Slot(s): "`dmidecode -t memory | grep 'Number Of Devices' | cut -d : -f2` >> $BD echo " ""- Quantidade Instalada: "`free -m | grep 'Mem:' | awk '{print $2}'`"MB" >> $BD echo " ""- Slot(s) em Uso: "`dmidecode -t memory | grep 'Size' | grep -v "No Module Installed" | cut -d" " -f2` >> $BD echo "" >> $BD echo "3.3 Discos" >> $BD echo "" >> $BD discos echo "" echo "Gerado Inventário $BD" sleep 2 cat $BD
shieldscript - Script para defesa básica do seu GNU/Linux
Script para montar dispositivo Android
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
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
SysAdmin ou DevOps: Qual curso inicial pra essa área? (0)
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código (3)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta