sys_info - exibe o status do sistema
Publicado por Pedro Fernandes (última atualização em 01/12/2020)
[ Hits: 3.294 ]
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 # #
Relógio em tempo real no terminal
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Sinto uma leve lentidão ao arrastar, miniminizar e restauras as janela... (3)
Alguém já usou o framework Avalonia para desenvolver interfaces de usu... (4)
Ajuda Pra Melhoria do NFTABLES. (8)
Pastas da raiz foram para a área de trabalho [RESOLVIDO] (7)