Personalize seu shell na entrada de seu logon

É interessante para alguns administradores de servidores Linux customizar o shell. A minha proposta é colocar algumas mensagens de saudação e outras mais importantes sobre o status do servidor isso logo após o logon no Shell Bash.

[ Hits: 20.098 ]

Por: marcelo espindola de melo em 14/07/2007 | Blog: https://marceloespindolaweb.blogspot.com.br/


Construindo os scripts



Para isso seja possível é necessário a manipulação do arquivo ".profile", ele está presente em todas as pastas "home" de todos os usuários do sistema, assim poderá ser representado da seguinte forma "~/.profile". Para facilitar esta personalização eu sugiro a criação de um diretório chamado /etc/configuracao_personalizada, nesta pasta ficarão armazenados os nossos scripts de mensagens. Assim dê o seguinte comando no shell:

# mkdir /etc/configuracao_personalizada

Logo após entre na pasta recém criada:

# cd /etc/configuracao_personalizada

Crie os seguintes arquivos:

# touch tamanhocache.txt
# touch saudacao


Após a criação, abra o segundo com o editor de texto de sua preferência (eu prefiro mcedit | para instalar no Debian basta "apt-get install mc"). A sintaxe ficaria assim:

# mcedit saudacao

Bom, não importando o editor, coloque estes comandos dentro do arquivo:

#!/bin/bash
clear #limpa a tela

#comandos para identificar o turno
hora=`date +%k`
if [ $hora -ge 6 ] && [ $hora -lt 12 ];then
TURNO="Bom Dia"; fi;
if [ $hora -ge 12 ] && [ $hora -lt 18 ];then
TURNO="Boa Tarde"; fi;
if [ $hora -ge 18 ] && [ $hora -lt 24 ];then
TURNO="Boa Noite!"; fi;
if [ $hora -ge 0 ] && [ $hora -lt 6 ];then
TURNO="Boa Noite!"; fi;

#cumprimentos
echo "$TURNO $USER Seja bem vindo a $HOSTNAME"
echo "Hoje são `date +%A` `date +%d` de `date +%B` de `date +%Y`"
echo "A hora atual é `date +%k:%M`"
echo "Número de usuários conectados neste momento: `who | wc -l`"
echo "O tamanho do cache está medindo..."
cat /etc/configuracao_personalizada/tamanhocache.txt 2> /dev/null

Esta será a nossa saudação, logo após a digitação deste comandos, coloque-o no status de executável com o comando:

# chmod +x saudação

Com o comando a seguir verifique se ele já está executável:

# ls -l
-rwxr-xr-x saudacao

Se a saída está semelhante a está que citei acima, então é hora de testar:

# ./saudacao

Boa Tarde root! seja bem vindo a proxy-server
Hoje são quinta 28 de junho de 2007
A hora atual é 17:18
Número de usuários conectados neste momento: 1
O tamanho do cache está medindo...

É claro, no arquivo tamanhocache.txt ainda não tem nenhum conteúdo, então vamos criar o script que calculará o tamanho do cache, isso é claro se você precisar calcular para mostrar o tamanho dele, porque alguns fazem montagem de partições na pasta onde o Squid armazena o cache, mas se não for o seu caso é interessante criar um script que calcula o tamanho do cache do Squid. Pronto! Agora crie o arquivo calc_tam_cache:

# touch calc_tam_cache

E coloque estas comandos neste arquivo:

#!/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
ARQTAMCACHE=/etc/configuracao_personalizada/tamanhocache.txt

du -hs /var/spool/squid > $ARQTAMCACHE
echo "A última atualização do tamanho do cache do Squid foi feita na data de" `date` >> $ARQTAMCACHE

Depois execute o comando:

# chmod +x calc_tam_cache

Agora teste ele:

# ./calc_tam_cache

Este comando não exibirá nenhuma saída na tela, a não ser que haja algum erro na execução. Para ver o conteúdo basta executar:

# cat tamanhocache.txt
250M    /var/spool/squid
A última atualização do tamanho do cache do Squid foi feita na data de Seg Jun 25 01:19:39 BRT 2007

Agora ver a saída do script completo:

# ./saudacao

Boa Tarde root! seja bem vindo a proxy-server
Hoje são quinta 28 de junho de 2007
A hora atual é 17:30
Número de usuários conectados neste momento: 1
O tamanho do cache está medindo...
250M /var/spool/squid
A última atualização do tamanho do cache do squid foi feita na data de Seg Jun 25 01:19:39 BRT 2007

Só que para que ele calcule automaticamente o tamanho do cache é necessário colocá-lo no agendamento do cron. Neste momento. para finalizar deixe o arquivo "/root/.profile" idêntico a seguir:

# ~/.profile: executed by Bourne-compatible login shells.

if [ -f ~/.bashrc ]; then
  . ~/.bashrc
fi

/etc/squid/configuracao_personalizada/saudacao
#declaração dos aliases (atalhos)
alias CACHE='cat /etc/squid/configuracao_personalizada/tamanhocache.txt'

mesg n

O alias é um atalho para outros comandos com opções pré-estabelecidas, e se você digitar no prompt o seguinte comando de atalho que foi criado no exemplo, será exibido o tamanho do o conteúdo do arquivo tamanhocache.txt.

Assim que o usuário root se logar em qualquer terminal (inclusive pelo ssh) o arquivo /root/.profile será executado, que por sua vez chamará em execução o arquivo /etc/squid/configuracao_personalizada/saudacao, exibindo os cumprimentos e depois criará o atalho CACHE.

Logo após foi feito o logon ficará será apresentado assim:



Uma outra dica interessante é acrescentar um script que mantenha o computador conectado a internet. Eis o link para ele:
Baixe ele, coloque-o na pasta /etc/configuracao_personalizada e acrescente a linha no arquivo /root/.profile chamando este script. O script mantém o servidor conectado a internet pelo rp-pppoe. O script verifica a conectividade com a internet através do comando pppoe-status, depois a condição verifica se o comando anterior foi executado com êxito. Caso seja positivo, ele executará apenas a mensagem e mostrará o ip da interface ppp0. Se não retornar positivamente, o script tentará conectar a internet.

Bom agora fica a dica! E cada um que quiser modificar e adaptá-lo às suas necessidades, fique a vontade.

OBS.: É interessante fazer isto no computador do chefe :-) :-) :-) hehe!

Uma sugestão é deixar como esta tela:



   

Páginas do artigo
   1. Construindo os scripts
Outros artigos deste autor

Script de firewall completíssimo

Leitura recomendada

Sed - Introdução

Colorindo o Shell

Introduzindo prazerosamente aos poucos... o shell script

Variáveis, if, else e unless em Ruby

Dialog em GTK

  
Comentários
[1] Comentário enviado por marcossilva em 14/07/2007 - 15:39h

Bem interessante o a sua dica.. valews!!

[2] Comentário enviado por balani em 15/07/2007 - 01:34h

muito legal, parabens.

[3] Comentário enviado por exercitobr em 15/07/2007 - 20:17h

Já coloquei em prática, nota 10!

[4] Comentário enviado por marceloespindola em 15/07/2007 - 23:20h

Pessoal eu tenho mais algum material interessante nos seguintes endereços:
http://marcelolinux.blogspot.com/2007/07/tenha-seu-prprio-velocmetro-em-flash.html

é um ótimo velocímetro construido em flash funciona em qualquer sistema operacional e navegador de uma olhada lá, meu próximo artigo já está quase pronto, mas se vocês quiserem ele já está disponível no seguinte endereço:
http://marcelolinux.blogspot.com/2007/07/meu-primeiro-artigo-do-vivaolinux.html é um script de firewall iptables com muitas regras e possui uma bastante linguagem clara. Qualquer outra novidade será lançada primeiro lá no meu blog antes de ser publicada aqui no vol! ok?

[5] Comentário enviado por removido em 16/07/2007 - 03:21h

Gostei!

[6] Comentário enviado por aprendiz_ce em 16/07/2007 - 09:54h

Já foi para os meus favoritos!

Parabéns pelo artigo.

[7] Comentário enviado por kledantas em 16/07/2007 - 15:17h

Muito Bom..!!

[8] Comentário enviado por cytron em 20/09/2007 - 23:15h

Gostei do velocímetro, é o melhor que já ví na internet, rápido e preciso, vou alterar ele pra ter um botão de disparo, pois o usuário é pego de surpresa ao abrir a página e ele já está medindo, o usuário sempre gosta de disparar, pois ele pode se preparar pra isso.

[9] Comentário enviado por aronaxx em 11/12/2007 - 12:36h

Muito bom artigo!

Mas vai uma dica para quem usa o Kurumin
Se você não achar o arquivo profile em root
tente o arquivo profile que fica justamente no etc
adicione na ultima linha para não haver erros
sh /(E AONDE FICA O ARQUIVO SAUDACAO)
ai toda vez que você abrir o terminal ele vai fazer
a saudação!!!!

[10] Comentário enviado por rodriggog em 24/07/2008 - 11:26h

Parabéns pelo arquivo, para eu que sou iniciante, ajudou bastante a clarear as idéias...

[11] Comentário enviado por carlosdias98 em 13/09/2008 - 11:27h

Muito 10

[12] Comentário enviado por Cadelão em 05/02/2010 - 16:57h

Muito bom, irmão!

[13] Comentário enviado por m0rdorkiller em 24/03/2015 - 17:41h

Infelizmente aqui não deu certo, uso o Linux Mint, a mensagem que deu no terminal foi:
# /root/.profile
bash: /root/.profile: Permissão negada

Sendo que estou como root no terminal :/
nem alterando a pasta para
# /etc/.profile
bash: /etc/.profile: Arquivo ou diretório não encontrado

se alguem tiver alguma solução agradeço!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts