sys_info - exibe o status do sistema

Publicado por Pedro Fernandes (última atualização em 28/03/2020)

[ Hits: 1.072 ]

Download sys_info

Download 1583447892.sys_info (versão 2)




Versão mais enxuta, limpa e menor de outro script meu chamado "status".

sys_info -- imprime na tela ou em arquivo de texto o status do sistema
infos: -- uptime, espaço de disco, espaço de arquivos, memória e temperatura

Ao visualizar na tela é aconselhado usar paginador -- less | more etc, ou no script na primeira vez que a função relatorio é chamada colocar o | paginador.

  



Versões atualizadas deste script

Versão 2 - Enviado por Pedro Fernandes em 05/03/2020

Changelog: 1 - "Embuti" a declaração case no corpo do if
no final do script. O if garante que
ou passa 0 ou 1 argumento apenas, e o case
garante que os argumentos são apenas -h ou -f
Estando separados não estava dando muito certo.

2 - Na parte que mostra a temperatura (sensors), removi o
pipe "| gawk", que não faz falta. Acho que estava
entusiasmado com o gawk e acabei por usar á toa.

Download 1583447892.sys_info


Esconder código-fonte

#!/bin/bash

#
#
# sys_info -- imprime na tela ou em arquivo de texto
#             o status do sistema.
#
#

#
#
# infos: -- uptime, espaço de disco, espaço de arquivos
#           memória e temperatura
#

#
#
# uso: -- status | status -f | status -h
#         Se for visualizado na tela é
#         aconselhado usar paginador (less|most)
#         status | most ou na primeira vez que
#         a função relatório é chamada perto do
#         final do script, colocar em frente da
#         chamada | more/most/less
#
#

#
#
# autor -- pedro fernandes <[email protected]>
#
#

#
#
# Constantes
#
#

SCRIPT=$(basename $0)
DATA=$(date "+%d-%m-%Y %H:%M")
DATA_LOG=$(date '+%d%m%y')
TITULO="Relatório do Sistema para: $HOSTNAME"
GERADO="Relatório Gerado: $DATA, por $USER"

#
#
# Funcoes
#
#

function uso {
   echo -e "Uso: $SCRIPT | $SCRIPT [ -f | -h ]\n"
   echo -e "Onde: \n"
   echo "-f para relatório ser salvo em arquivo no HOME"
   echo "-h para mostrar esta ajuda"
   echo -e "\nAo visualizar na tela use paginador:"
   echo -e "Ex: $SCRIPT | less\n"
}
#
#
function relatorio {
   echo -e "\n\t\t\t\t\t\t$TITULO\n"
   echo -e "\n\t\t\t\t\t\t$GERADO\n\n\n"
   #
   #
   uptime | gawk 'BEGIN {printf "Uptime do Sistema:" "\n"}
   {print $3 "\n"}' |
   sed 's/,$//' |
   sed 'N; s/\n/ /'
   #
   #
   echo -e "\n\nEspaço Ocupado no(s) disco(s):\n"
   df -h | gawk 'BEGIN {
   printf "Unidade" "\t\t" "Total" "\t" "Usado" "\t" "Disponivel" "\t" "Montd." "\n"}
   /dev.sd[a-z][1-9]/{print $1, "\t" $2, "\t" $3, "\t" $4, "\t\t" $6}'
   #
   #
   echo -e "\n\n\nOs 10 diretórios mais cheios no(s) home(s):\n"
   #
   if [ $UID -eq 0 ]
   then
      lista=/home/*
   else
      lista=$HOME
   fi
   #
   for dir in $lista
   do
      echo -e "\nDiretório $dir:\n"
      du -Sh $dir 2> /dev/null |
      sort -rh |
      sed '{11,$D; =}' |
      sed 'N; s/\n/ /' |
      gawk '{printf $1 ":" "\t" $2 "\t" $3 "\n"}'
   done
   #
   #
   echo -e "\n\n\nMemória do Sistema:\n"
   free -h |
   sed '$d' |
   sed '1d' |
   gawk 'BEGIN {
   printf "Total" "\t" "Usada" "\t" "Livre" "\t" "Buffer/Cache" "\t" "Disponivel\n"}
   {printf $2 "\t" $3 "\t" $4 "\t\t" $6 "\t" $7 "\n"}'
   #
   #
   echo -e "\n\n\nTempraturas atuais:\n"
   sensors | gawk '{printf $0 "\n"}'
   #
   #
   echo
   echo "É tudo."
}

#
#
# Inicio
#
#

if [ $# -eq 0 ]
then
   relatorio
elif [ $# -gt 1 ]
then
   echo "Demasiados argumentos..."
   sleep 2
   clear
   uso
   exit 1
fi
#
#
case $1 in
-f)
   relatorio > $HOME/$SCRIPT-$DATA_LOG.log
   echo "O relatório foi salvo em: $HOME/$SCRIPT-$DATA_LOG.log"
   ;;
-h)
   uso
   ;;
esac
#
#

Scripts recomendados

Baixando arquivos do Megaupload

Backup em fita com tar e mt

Script para instalar e configurar o samba no Damn Small Linux

Calculadora 1.0

Album virtual para WEB


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts