#!/usr/bin/php <?php ini_set('display_errors',1); ini_set('display_startup_errors',1); set_time_limit(0); ignore_user_abort(1); /* Les classes et fonctions incluse par require_once ne sont pas présentes ici*/ mysql_connect("{HOST}", "{LOGIN_NAME}", "{PASSWORD}"); mysql_select_db("{DATABASE}"); $reponse = mysql_query("SELECT * FROM `user_serv` "); while ($donnees = mysql_fetch_array($reponse) ) { $server = new control(); $status = $server->ServerInfo(); if(!$status[ping]) { if($donnees['ttm'] == "" or $donnees['ttm'] == "0" ) { $machine = $donnees['ip']; $user = $donnees['pseudo']; $pass = $donnees['pass_ftp']; $mail = $donnees['email']; $date = date("d-m-Y"); $heure = date("H:i:s"); $id = $donnees['id']; echo " * Envoie de l'E-Mail d'information au client\n"; /* script de l'envoie d'E-Mail au client */ $message = " Bonjour, Notre système de monitoring vient de détecter un défaut sur votre serveur $machine. Le défaut a été constaté à la date $date $heure Notre équipe de techniciens sur site (opérationnelle 24h/24, 7j/7), a été informée de ce défaut et va intervenir sur votre machine. Sachez que d'autres interventions peuvent être en cours actuellement et qu'il faut compter en moyenne 30 minutes par intervention et par machine. Par conséquent, nous ne pouvons pas vous donner plus de précisions quant à l'heure de début de l'intervention. Vous recevrez un email dés qu'un technicien prendra en charge votre serveur. En attendant, vous avez la possibilité de le rebooter à partir de votre manager. Logs: ---------------------- PING $machine ($machine) from XXXXXXX : 56(84) bytes of data. From XXXXXXX: Destination Host Unreachable From XXXXXXX: Destination Host Unreachable From XXXXXXX: Destination Host Unreachable --- $machine ping statistics --- 10 packets transmitted, 0 packets received, +6 errors, 100% packet loss --------------------- Un redémarrage automatique viens d'être effectuer. Merci de vous connecter sur votre pannel, pour vérifier le re-lancement du serveur. Si le serveur c'est relancer, nous vous conseillons de vérifier sur la console et voir c'est produit. -- Cordialement, "; $sujet = "[suivi] defaut sur le serveur $ip"; $entetes = "MIME-Version: 1.0\n"."From:XXXXXXX@XXXXXXX.fr\r\nContent-type: text/html; charset= iso-8859-1\nBcc:XXXXXXX@XXXXXXX.fr;"; mail("$mail", "$sujet", "$message",$entetes ); echo " * Envoie du SMS d'information au N1 sur place\n"; /* script de l'envoie du SMS au N1 */ /*SCRIPT NON PRESENT ICI*/ if(false $connection ssh2_connect($machine, 22)) { //echec de connexion echo "echec de connexion"; } else { //Connexion OK echo "connexion OK\n"; echo "authentification en cours\n"; if(false === ssh2_auth_password($connection,$user,$pass)) { echo "Echec d'authentification\n"; } else { echo "connexion OK"; if(false === $shell=ssh2_shell($connection, 'xterm')) { echo "Erreur pour l'envoie de la commande\n"; } else { echo "OK pour envoie de la commande\n"; /*SCRIPT NON PRESENTE ICI Il fait une connexion SSH avec le serveur en question, si il n'y arrive pas, Hard reboot de la machine. */ } } } /* second test du serveur */ if($status[ping]) { echo " * Envoie de l'E-Mail d'information au client\n"; /* script de l'envoie d'E-Mail au client */ echo (" * Clôture intervention automatisée avec rapport console.\n"); /* script de cloture d'intervention automatise */ } else { /* Ajout d'une intervention pour vérifier directement dans la baie le fonctionnement du serveur */ } } unset(/* Effacement des variables utilisés précédemment*/); } else { $date = date("d-m-Y"); $heure = date("H:i:s"); echo ("ok pour le serv. : ".$port." en date du ".$date." a ".$heure."\n"); unset(/* Effacement des variables utilisés précédemment*/); } } mysql_close(); ?>
<?php if (!$status[ping]) { ?>
<?php if (!$status['ping']) { ?>
error_reporting(E_ALL);
<? if(!$status['ping']) { if($donnees['ttm'] == "" or $donnees['ttm'] == "0" ) { $machine = $donnees['ip']; $user = $donnees['pseudo']; $pass = $donnees['pass_ftp']; $mail = $donnees['email']; $date = date("d-m-Y"); $heure = date("H:i:s"); $id = $donnees['id']; echo " * Le serveur ne répond pas.\n"; echo " * Lancement process.\n"; echo " * Envoie de l'E-Mail d'information au client\n"; /* script de l'envoie d'E-Mail au client */ ?>
<?php if (!$status['ping']) { ?>
<? echo " * Envoie du SMS d'information au N1 sur place\n"; /* script de l'envoie du SMS au N1 */ /*SCRIPT NON PRESENT ICI*/ if(false $connection ssh2_connect($machine, 22)) { //echec de connexion echo "echec de connexion"; } else { ?>
<? error_reporting(E_ALL); ?>
De ceux que j'ai put constaté, le script vas jusqu'à la condition où il indique que le serveur ne ce lance pas puis il s'arrête au niveau de la connexion SSH ici
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionok pour le serv. : XXXXX en date du 15-08-2011 a 16:42:32 ok pour le serv. : XXXXX en date du 15-08-2011 a 16:42:32 * Le serveur ne répond pas. * Lancement process. * Envoie de l'E-Mail d'information au client * Envoie du SMS d'information au N1 sur place * Toujours pas de réponse du serveur, ajout d'une intervention pour vérifier directement dans la baie le fonctionnement du serveur ok pour le serv. : XXXXX en date du 15-08-2011 a 16:42:32 ok pour le serv. : XXXXX en date du 15-08-2011 a 16:42:32