sys_info - exibe o status do sistema
Publicado por Pedro Fernandes (última atualização em 01/12/2020)
[ Hits: 3.404 ]
Homepage: https://github.com/PedroF37
Download 1583447892.sys_info (versão 2)
Download 1604712914.sys_info (versão 3)
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ã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.
Versão 3 - Enviado por Pedro Fernandes em 06/11/2020
Changelog: Versão 3.0 - Corrigido erro de mostragem de espaço no disco.
Ex.: se sda1 aparece como /dev/root, então não
mostrava. corrigi a regex, agora está - "/^\/dev\/[a-z]+[0-9]?/"
- Corrigido mostragem do uptime do sistema.
Reparei que no openSUSE o campo que mostrava o uptime
era o campo 4 e não o 3.
Expressão do gawk agora usa o 'FS=","' (field separator)
para mostrar o campo $1. (HH:MM:SS up HH:MM).
#!/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
#
#
Monitorando processos, CPU e memória
Testa link e reinicia a interface
themepack2txz - Extrair arquivos themepack e criar um pacote TXZ com as imagens
Mantendo o transmission-daemon funcionando
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
VOL já não é mais como antes? (3)
É normal não gostar de KDE? (12)
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)
Secure boot, artigo interessante, nada técnico. (4)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









