Pular para o conteúdo

Inventário de Hardware

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.

Eis a saída do mesmo:

=========================================================
=  Informações de inventário - 20/02/2017 00:55 =
=========================================================

Nome do computador: quarto

1 - SISTEMA

1.1 Informações do Sistema Operacional:
     - Arquitetura: x86_64
     - Versão do Kernel: 4.9.0-0.bpo.1-amd64

1.2 Informações da Distribuição:
     - Distribuição:  Debian
     - Versão:  8.7
     - Codinome:  jessie

2 - REDE

2.1-Informações Placa de Rede (eth0):
     - Endereço IPv4: 192.168.1.12
     - 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): 3655MHz
     - Cache:  6144 KB

3.2 Memória
     - Máximo Suportado:  64 GB
     - Número de Slot(s):  4
     - Quantidade Instalada:  7941MB
     - Slot(s) em Uso: 8192

3.3 Discos

3.1- Disco sdb
     - Tamanho : 2,7 TiB
     - Tabela de partição  : gpt
      Partições:
     
          - Nome :  sdb1
          - Tamanho :  3001GB
          - Tipo :  ntfs
    
3.1- Disco sdc
     - Tamanho : 1,8 TiB
     - Tabela de partição  : msdos
      Partições:
     
          - Nome :  sdc1
          - Tamanho :  2000GB
          - Tipo :  ntfs
    
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
Alexandre Martins da Cunha alexandremc
Hits: 7.818 Categoria: Shell Script Subcategoria: Miscelânea
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

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.

Eis a saída do mesmo:

=========================================================
=  Informações de inventário - 20/02/2017 00:55 =
=========================================================

Nome do computador: quarto

1 - SISTEMA

1.1 Informações do Sistema Operacional:
     - Arquitetura: x86_64
     - Versão do Kernel: 4.9.0-0.bpo.1-amd64

1.2 Informações da Distribuição:
     - Distribuição:  Debian
     - Versão:  8.7
     - Codinome:  jessie

2 - REDE

2.1-Informações Placa de Rede (eth0):
     - Endereço IPv4: 192.168.1.12
     - 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): 3655MHz
     - Cache:  6144 KB

3.2 Memória
     - Máximo Suportado:  64 GB
     - Número de Slot(s):  4
     - Quantidade Instalada:  7941MB
     - Slot(s) em Uso: 8192

3.3 Discos

3.1- Disco sdb
     - Tamanho : 2,7 TiB
     - Tabela de partição  : gpt
      Partições:
     
          - Nome :  sdb1
          - Tamanho :  3001GB
          - Tipo :  ntfs
    
3.1- Disco sdc
     - Tamanho : 1,8 TiB
     - Tabela de partição  : msdos
      Partições:
     
          - Nome :  sdc1
          - Tamanho :  2000GB
          - Tipo :  ntfs
    
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
Download inventariohw3.0.sh Enviar nova versão

Versões atualizadas deste script

Alexandre Martins da Cunha

Versão 2 enviada 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 1542877802.inventariohw3.4.sh

Esconder código-fonte

#!/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 refernetes a configuração do hardware
#  -------------------------------------------------------------
#
#
# 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) 
#
#
# 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`
   numero=1
   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'`
   numero=1
   for disco in $discos
   do
      echo "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   

Instalador dos Drivers da NVIDIA para Debian

Check bandwidth para Nagios

Zshortcut - criar atalhos no menu de programas

Usando dialog para adiciona usuários no squid

Trocar nomes maiúsculos por minúsculos

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.