sys_info - exibe o status do sistema
Publicado por Pedro Fernandes (última atualização em 01/12/2020)
[ Hits: 3.330 ]
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 # #
mysqlapache2combo - Pequeno script que facilita a vida
Reiniciar modem via Shell Script
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Instalar driver Nvidia no Debian 13
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Debian 13 Trixie para Iniciantes
Convertendo pacotes DEB que usam ZSTD (Padrão Novo) para XZ (Padrão Antigo)
Debian 13 "trixie&... lançado! (44)
Rust é o "C da nossa geração"? (3)
Gerenciador de arquivos é finalizado ao abrir pasta específica (2)