Forum Astuces.divers Statistiques dans la console TTY1 au boot de la machine

Posté par (page perso) .
Tags : aucun
3
9
juin
2009
Ca affiche l'IP, la gateway et le DNS primaire de la machine. Ca affiche également la liste des utilisateurs connectés, depuis où et ce qu'ils font.
Bon mon code à l'air ridicule, mais il marche plutot bien pour ce que j'ai besoin :]
À terme, j'aimerais mettre ce script sur les machines de nos clients ; ca leur permet de nous donner toutes les informations necessaires rapidement pour que l'ont puisse se connecter, ou encore de voir si il n'y a pas un admin de logger avant de tenter un reboot par une interface en ncurses ou gui...

Testé sous debian, fedora et openSuse...

Script qui récupère et affiche les statistiques : /root/get_stat.sh

#!/bin/sh
#
clear
IFC=eth0
term_len=80
echo -en "\e[0;33m"
for i in `seq 1 $term_len` ; do
echo -ne "="
done
echo -en "\033[0m"

HOSTNM=`hostname`
echo -en "\r\e[1;37m$HOSTNM\033[0m "
echo ""
IP_ADDR=`ip addr show dev $IFC | grep "inet " | sed -e "s/^.*inet \([0-9\.][0-9\.]*\)..*/\1/"`
GW_ADDR=`route -n | grep "^0.0.0.0 "|awk '{print $2;}'`
DNS_ADDR=`grep "^nameserver" /etc/resolv.conf|head -n1|sed -e "s/^..*[ ][ ]*\([0-9\.][0-9\.]*\).*/\1/"`


echo -ne "IP\t"

if [ -z "$IP_ADDR" ] ; then
echo -e "\e[1;31m -N/A-\033[0m"
else
echo -e "\e[1;32m$IP_ADDR\033[0m"
fi

echo -ne "GW\t"

if [ -z "$GW_ADDR" ] ; then
echo -e "\e[1;33m -N/A-\033[0m"
else
echo -e "\e[0;32m$GW_ADDR\033[0m"
fi

echo -ne "DNS\t"

if [ -z "$DNS_ADDR" ] ; then
echo -e "\e[1;33m -N/A-\033[0m"
else
echo -e "\e[0;32m$DNS_ADDR\033[0m"
fi

w

sleep 2


Script qui boucle : /root/stat_on_tty.sh
Ca permet de pouvoir modifier le script de stats "à chaud" et d'eviter un "respawn too fast".

#!/bin/sh
#
while true ; do
source "/root/get_stat.sh"
done


Modification dans /etc/inittab
Avant :

2:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2


Après : (bon je sais, c'est pas forcement propre de mettre ca dans root, mais c'est pour des VMs de dev pour le moment)

1:2345:respawn:/bin/sh /root/stat_on_tty.sh
2:2345:respawn:/sbin/getty 38400 tty2
  • # Sleep

    Posté par (page perso) . Évalué à 2.

    Il faudrait de préférence mettre le sleep 2 dans le script qui gère la boucle stat_on_tty.sh, ce serait bien plus propre.
    • [^] # Re: Sleep

      Posté par (page perso) . Évalué à 1.

      Oui, mais le problème c'est qu'une fois mis dans inittab, le script est chargé en mémoire et n'est jamais relu...
      Donc pour le debug, si je souhaite changer la taille du sleep (hum), je le met dans le script qui sera systematiquement relu.
      • [^] # Re: Sleep

        Posté par (page perso) . Évalué à 2.

        Effectivement, je n'avais pas pensé à cela. A vrai dire, j'utilise rarement inittab...

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.