OVH Community, votre nouvel espace communautaire.

[SsH] Création de petit modules simple


The Destroyeur
20/01/2007, 10h32
En clair, sa permet de voir si un serveur de jeu est allumé ou eteind ...

Homer Jay
20/01/2007, 07h15
Bonjour,

Citation Envoyé par The Destroyeur
Ici je vous propose un petit programme permetant de voir, si un plugin ou un serveur de jeu est allumer.
- Tu pourrais faire plus propre et plus court avec printf et pidof,

- je ne vois pas de raison de tourner ce script en root (nécessaire si tu utilises su)! La commande ps est capable de lister les processus de tous les utilisateurs (sauf noyau spécialement sécurisé).

The Destroyeur
18/01/2007, 18h10
Ptit update ^^

The Destroyeur
06/12/2006, 15h21
Bonjour à tous,
Ici je vous propose un petit programme permetant de voir, si un plugin ou un serveur de jeu est allumer.

Comment sa fonctionne ?
Par la fonction grep, ps, echo et des commandes farfelues !

Voila le début du code :
echo "~~~~~ Heure du serveur ~~~~~"
echo "$(date; echo)"
Cette partie donnera l'heure (toujours cool de voir l'heure )

Bon allé

echo "~~~~~ Status des serveurs ~~~~~"
echo -en "Status Server 001 [ "
ps -fu $(id -un) | grep server001 | grep -v grep > /dev/null
if [[ $? == 1 ]]
then
echo -en '\E[01;31m'"\033[1mOFF\033[0m"
else
echo -en '\E[01;32m'"\033[1mON\033[0m"
fi
echo " ] "
En quelque mot, pour définir ce qui sera afficher, vous devez mettre le nom votre processus, donc changer le server001 par ce que vous voullez.
Si vous voullez en mettre plusieurs, il vous suffit d'en mettre l'un à coté de l'autre.
Et si vous voullez mettre 2 choses sur la meme ligne, vous devez ajouter -en au dernier echo.

Et maintenant, si par exemple, un serveur est lancé sous l'utilisateur "xxx", il vous suffit de mettre ceci :
echo "~~~~~ Status des serveurs ~~~~~"
echo -en "Status Server 001 [ "
su xxx -c 'ps -fu $(id -un) | grep server001 | grep -v grep > /dev/null'
if [[ $? == 1 ]]
then
echo -en '\E[01;31m'"\033[1mOFF\033[0m"
else
echo -en '\E[01;32m'"\033[1mON\033[0m"
fi
echo " ] "
Voila ^^
Une tite démonstration :
ns***** plugins # ./Status.sh
~~~~~ Heure du serveur ~~~~~
mer déc 6 16:20:59 CET 2006
~~~~~ Status des serveurs ~~~~~
Status Server 001 [ ON ] Aseco [ ON ]
Status Server 002 [ ON ] Aseco [ ON ]
Status Server 003 [ ON ] Aseco [ OFF ]
Status Server 004 [ OFF ] Aseco [ OFF ]
Status Server 005 [ ON ] Aseco [ OFF ]