sys_info - exibe o status do sistema
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.
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.
Descrição
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.
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
#!/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 <pedrobfernandes32@protonmail.com>
#
#
#
#
# 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
#
#
muito bom.
___________________________________________________________