| Qui est en ligne ? |
| Il y a : 15 utilisateurs en ligne, consultez le détail |
Forum » Serveur, Réseaux et Programmation » Script de Récupération d'info |
Forum modéré par : jblecanard |
| Même auteur |
|
Score ( voter ) : |
|
| Page : [1] |
| Auteur | Message |
|---|---|
|
|
#0 Message posté le : 12-06-2007 à 13:52:21 |
Petit scarabée Forum : Inscrit Association : Arrivé(e) le : 06-02-2007 Nombre de messages : 12 |
Voilà, bon le perl je connais pas pas des masse non plus donc bon ^^ J'aimerai faire un script perl qui interroge à distance un serveur et qui remonte des informations comme l'espace disque utilisé sur chaque partition (df -h). Après le script ce chargerai d'envoyé un mail si la valeur retournée est supérieur à telle valeur par exemple. Voilà ce que j'ai pour le moment dans mon script info.pl : -------------------------------------------- #!/usr/bin/perl -w use strict; use Net::SSH::Perl; my $host = "cerbere"; my $username = "mon_login"; my $password = "mon_pass"; my $ssh = Net::SSH::Perl->new($host); $ssh->login($username, $password); $ssh->cmd('sh /home/mon_login/message.sh'); -------------------------------------------- Et dans le message.sh : -------------------------------------------- #!/bin/sh email="maillon@trustonme.net" message=/home/mon_login/script/recap.$$ limit="80" df -h | tr "%" " " | awk '{ if ( $5 > $limit ) print $6" est utilisé a "$5"%. Il reste "$4" sur "$2" disponibles pour "$1"\n" } ' > $message serveur=/bin/hostname if [ $5 > $limit ] then mail -s "Alerte sur le serveur "$serveur" sur la partition "$6"." $email fi ------------------------------------------------- Sachant que j'ai bien copié le script message.sh sur toute les machines. Alors pour l'instant j'ai deux souci : le premier c'est que le mail n'est pas envoyé. Pourtant je peux envoyer des mails par telnet et via la commande mail dans une console. Le deuxième souci majeur varie en fonction des serveurs sur lequel le script message.sh est exécuté, je m'explique. Quand je lance la commande df -h j'obtiens ça : --------------------------------------------------- SysFichier Tail. Util.Disp. Uti% Monté sur /dev/sda8 2.0G 394M 1.5G 21% / /dev/sda3 190M 11M 170M 6% /boot none 1004M 0 1004M 0% /dev/shm /dev/sda7 1012M 33M 928M 4% /tmp /dev/sda5 9.7G 2.5G 6.7G 28% /usr /dev/sda9 9.7G 546M 8.6G 6% /var /dev/sda10 40G 49M 38G 1% /data /dev/sda2 3.2G 37M 3.0G 2% /home ---------------------------------------------------- Sur le serveur cerbere (red hat 3) le script message.sh me génère un fichier dans lequel il y a : -------------------------------------------------- / est utilisé a 21%. Il reste 1.5G sur 2.0G disponibles pour /dev/sda8 /boot est utilisé a 6%. Il reste 170M sur 190M disponibles pour /dev/sda3 /tmp est utilisé a 4%. Il reste 928M sur 1012M disponibles pour /dev/sda7 /usr est utilisé a 28%. Il reste 6.7G sur 9.7G disponibles pour /dev/sda5 /var est utilisé a 6%. Il reste 8.6G sur 9.7G disponibles pour /dev/sda9 /data est utilisé a 1%. Il reste 38G sur 40G disponibles pour /dev/sda10 /home est utilisé a 2%. Il reste 3.0G sur 3.2G disponibles pour /dev/sda2 --------------------------------------------------- Donc ça marche là ^^ Par contre sur l'autre serveur zeus (red hat 4), le df -h me génère ça : ---------------------------------------------------- Sys. de fich. Tail. Occ. Disp. %Occ. Monté sur /dev/mapper/VolGroup_ID_21242-LogVol1 1008M 506M 452M 53% / /dev/sda3 99M 17M 78M 18% /boot none 972M 0 972M 0% /dev/shm /dev/mapper/VolGroup_ID_21242-LogVol2 496M 11M 460M 3% /tmp /dev/mapper/VolGroup_ID_21242-LogVol5 9,9G 3,0G 6,6G 32% /usr /dev/mapper/VolGroup_ID_21242-LogVol4 3,1G 195M 2,7G 7% /var /dev/mapper/VolGroup_ID_21242-LogVolHome 131G 3,4G 121G 3% /home ------------------------------------------------------ Et le script message.sh me génère ça : -------------------------------------------------------- est utilisé a /%. Il reste 53 sur 506M disponibles pour 1008M /boot est utilisé a 18%. Il reste 78M sur 99M disponibles pour /dev/sda3 est utilisé a /tmp%. Il reste 3 sur 11M disponibles pour 496M est utilisé a /usr%. Il reste 32 sur 3,0G disponibles pour 9,9G est utilisé a /var%. Il reste 7 sur 195M disponibles pour 3,1G est utilisé a /home%. Il reste 3 sur 3,4G disponibles pour 131G ---------------------------------------------------------- Il y a un léger petit souci là ... Je continue de chercher mais si vous avez des idées ou solutions n'hésitez pas ^^ Par contre c'est vrai que c'est pas du tout pratique d'avoir un script en bash et l'autre en perl mais c'est la seule manière que je sais faire donc si vous trouvez une autre suis prenneur ^^ :-) Merci de votre aide ;-) |
|
|
#1 Message posté le : 13-06-2007 à 16:58:36 |
Petit scarabée Forum : Inscrit Association : Arrivé(e) le : 06-02-2007 Nombre de messages : 12 |
Alors j'ai trouvé une solution finalement en shell ^^ Certes il n'y a pas de connection ssh mais bon je lance le script via crontab et c'est pareil ^^ #!/bin/bash email="maillon@domaine.net" message="/home/maillon/script/recap.$$" limit="20" df -h |\ sed -e '/^\/dev\/mapper/ s/$/#/' -e :a -e '/#$/N ;s/#\n/ /; ta' -e '1d' |\ tr "%" " " | awk -v limit=$limit '{ if ( $5 > limit ) print $6" est utilise a "$5"%. Il reste "$4" sur "$2" disponibles pour "$1"\n" } ' > $message serveur=$(/bin/hostname) if [ -s "$message" ] then cat "$message" | mail "$email" -s "Alerte disque $serveur. Partition(s) plus de 20% d'utilisation" fi rm recap.* Voilà ça ça marche c'est sûr ! lol :-) Je vais essayer de faire l'équivalent en perl mais pour moi pour savoir ^^ |
|
|
#2 Message posté le : 13-06-2007 à 23:33:21 |
Scarabée Forum : Inscrit Association : Arrivé(e) le : 27-07-2005 Nombre de messages : 138 |
salut, dans le genre, j'ai pondu ça: http://stardust.3.free.fr/guest/NoPartitionFulld-0.2.02.tar.gz ------------------------------------- BlogLinux http://sputnick1.wordpress.com |
|
|
#3 Message posté le : 14-06-2007 à 14:02:44 |
Petit scarabée Forum : Inscrit Association : Arrivé(e) le : 06-02-2007 Nombre de messages : 12 |
Euh j'ai pas tout compris ce que ça faisait ce que tu as "pondu" ^^ xD |
|
|
#4 Message posté le : 16-06-2007 à 22:33:18 |
Scarabée Forum : Inscrit Association : Arrivé(e) le : 27-07-2005 Nombre de messages : 138 |
ça affiche des popups affichant le pourcentage d'occupation d'une partition (root) quand le seuil dépasse le seuil qui se regle au premier lancement. ça envoie aussi un mail. ------------------------------------- BlogLinux http://sputnick1.wordpress.com |
| Page : [1] |
Forum » Serveur, Réseaux et Programmation » Script de Récupération d'info |
Forum modéré par : jblecanard |
| Même auteur |
|
Score ( voter ) : |
|
- Petit scarabée : 0 pastille, moins de 100 messages
- Scarabée : 0 pastille, plus de 100 messages
- Hobbit : 1 pastille, plus de 1000 messages
- Naboo : 2 pastilles, plus de 2000 messages
- Elfe : 3 pastilles, plus de 3000 messages
- Jedi : 4 pastilles, plus de 4000 messages
- Maître Jedi : 5 pastilles, plus de 5000 messages