Skip to content

zudefoque/Informacoes-do-Servidor-Terminal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 

Repository files navigation

Informações do Servidor no Terminal

Um script para exibir informações do servidor toda vez que efetuar login pelo terminal, incluindo:

  • Carga do sistema
  • Uso de disco
  • Uso de memória
  • Processos em execução
  • Usuários logados
  • Endereços IP

As informações são atualizas automaticamente a cada login no terminal.

Esse script foi projetado para rodar em sistemas Debian/Ubuntu, não testei em outras distribuições.

1 - Antes de mais nada vamos instalar os pacotes necessarios para ter certeza que tudo irá funcionar.

Obs.: Lembre-se de executar os como root ou com priviledios de super usuario (sudo)

apt update
apt install coreutils procps net-tools

1.1 - Caso seu sistema seja Ubuntu talvez seja necessario também instalar o pacote inetutils-syslogd

apt install inetutils-syslogd

1.2 - Caso seu sistema seja CentOS/RHEL:

yum update
yum install procps-ng net-tools initscripts yum-utils

2 - Acesse o diretorio '/etc/update-motd.d/'

cd /etc/update-motd.d/

3 - Agora precisamos criar o arquivo onde ficará o conteudo do script, você pode dar o nome que quiser, mas vou utilizar '99-mensagem-personalizada'

nano 99-mensagem-personalizada

4 - Copie o conteudo e cole no arquivo.

#!/bin/sh

# Campo para o usuário digitar uma mensagem personalizada
MENSSAGEM="Digite aqui sua mensagem personalizada"

# Caminho para os executáveis
UPTIME_CMD="/usr/bin/uptime"
DF_CMD="/bin/df"
FREE_CMD="/usr/bin/free"
PS_CMD="/bin/ps"
WHO_CMD="/usr/bin/who"
IFCONFIG_CMD="/sbin/ifconfig"
LSB_RELEASE_CMD="/usr/bin/lsb_release"

# Obtém as informações necessárias
SISTEMA=$($UPTIME_CMD | awk -F'load average:' '{print $2}')
DISCO_USO=$($DF_CMD -h / | awk 'NR==2{print $5}')
DISCO_TOTAL=$($DF_CMD -h / | awk 'NR==2{print $2}')
DISCO_UTILIZADO=$($DF_CMD -h / | awk 'NR==2{print $3}')
DISCO_LIVRE=$($DF_CMD -h / | awk 'NR==2{print $4}')
MEMORIA_UTILIZACAO=$($FREE_CMD -m | awk 'NR==2{printf "%.2f%%", $3*100/$2}')
SWAP_UTILIZACAO=$($FREE_CMD -m | awk 'NR==3{printf "%.2f%%", $3*100/$2}')
CONTAGEM_PROCESSOS=$($PS_CMD -ef | wc -l)
CONTAGEM_USUARIOS=$($WHO_CMD | wc -l)
ENDERECO_IPV4=$($IFCONFIG_CMD | awk '/inet / && !/127.0.0.1/{print $2}' | head -n 1)
ENDERECO_IPV6=$($IFCONFIG_CMD | awk '/inet6/{print $2}' | head -n 1)
DATA=$(date '+%d/%m/%Y %H:%M:%S')
VERSAO=$($LSB_RELEASE_CMD -d | awk -F"\t" '{print $2}')

# Atualiza o arquivo de mensagem do terminal
cat << EOF > /etc/motd

$MENSSAGEM - $VERSAO

Informações do sistema em $DATA:

Sistema:                 $SISTEMA
Disco usado:             $DISCO_USO de $DISCO_TOTAL (Utilizado: $DISCO_UTILIZADO, Livre: $DISCO_LIVRE)
Utilização de memória:   $MEMORIA_UTILIZACAO
Utilização de swap:      $SWAP_UTILIZACAO
Contagem de processos:   $CONTAGEM_PROCESSOS
Contagem de usuários:    $CONTAGEM_USUARIOS
Endereço IPv4:           $ENDERECO_IPV4
Endereço IPv6:           $ENDERECO_IPV6

EOF

No campo MENSSAGEM você pode personalizar a mensagem que será exibida no terminal, caso não queira nada, basta deixar o campo em branco MENSSAGEM=""

Nesse caso, o script est levantando as informações do sistema e enviando para o arquivo motd que fica localizado dentro de /etc

5 - Salve o arquivo e saia do editor de texto Ctrl + O e Ctrl + x

6 - Agora precisamos tornar o script executavel, para isso:

chmod +x 99-mensagem-personalizada

7 - Reinicie a sessão ou faça logout e login novamente para que as alterações tenham efeito.

Agora toda vez que for feito login o script será executado e atualizará as informações do arquivo /etc/motd com as informações atualizada.

Exemplo da mensagem em funcionamento:

image

O campo MENSSAGEM="Digite aqui sua mensagem personalizada" no inicio do script muda a mensagem da primeira linha do script.

About

Fornece informações do servidor ao ser acessado remotamente.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages