Bab00n Posted January 31, 2007 Share Posted January 31, 2007 boujour a tous !! j'ai un pc sous linux avec un serveur FTP, et d'autre serveur (TeamSpeak et autre ...), je voudrais faire une page web qui puisse afficher l'état des serveur pour me dire si il sont en ligne, une page php par exemple. Quelqu'un sais comment on peut faire sa ? merci bcp d'avance Link to comment Share on other sites More sharing options...
Quarky Posted January 31, 2007 Share Posted January 31, 2007 Voilà un bon début pour y arriver Link to comment Share on other sites More sharing options...
Bab00n Posted January 31, 2007 Author Share Posted January 31, 2007 Voilà un bon début pour y arriver Hey en effet merci, j'ai chercher sur google mais j'étais pas tres inspiré sur les mot clé, je vais regarder sa. Link to comment Share on other sites More sharing options...
TheGuit Posted January 31, 2007 Share Posted January 31, 2007 Une des solution a mon avis les plus élégante est de crée un petit script (en php c'est aussi possible). Qui va te renvoyer le résultat de la commande /etc/init.d/proftpd status (remplace proftpd par ce que tu as comme serveur pour le FTP) et qui par la suite va ecrire ca soit dans un fichier texte. Soit dans une base de donnée (au choix selon que tu veux un résultat instantanné ou des trace de son status au cours du temps). Biensur cette commande ne te donnera que l'état du demon ftp. Si tu veux pouvoir tester la bonne marche de la connection tu n'a qu'a essayer de lancer une connexion FTP au serveur et de regarder le code de renvoie (en mettant un time out relativement bas). Tu fait donc un petit script comme ca que tu appelle via cron en root toutes les 1 à 5 minutes. Et apres tu te fait un page qui récuperer ce résultat et l'affichage. Link to comment Share on other sites More sharing options...
Bab00n Posted January 31, 2007 Author Share Posted January 31, 2007 Cool merci beaucoup Par contre, si je veut tester l'état de mon serveur teamSpeak je peut pas faire pareil ?, le mieu ce serai pas que j'obtienne la liste des demon qui tourne que je cherche ceux qui m'interesse et si ils n'y sont pas j'écrit que le serveur est hors ligne dans le fichier, et sinon je les met en ligne. Pour ce qui est de la page qui recupere le resultat, elle sera sur un serveur chez free, il faut donc qu'elle lise le fichier texte sur mon serveur linux ... je sais pas encore faire sa mais je vais me renseigné un peu sur google. Link to comment Share on other sites More sharing options...
TheGuit Posted January 31, 2007 Share Posted January 31, 2007 Ben l'important c'est de bien définir ce que tu veux faire exactement Lire un fichier texte distant n'a rien de compliqué :) un petit : file('http://monserveur.com/lefichiergenerer'); Et ca roule :) Pour ce qui est de lire l'etat de ton serveur teamspeak faut voir comment marche teamspeak. Ca doit aussi etre une demon lancé donc tu as surement une entrer dans /etc/init.d/ qui te permetra de voir son status. Link to comment Share on other sites More sharing options...
Mandor Posted February 1, 2007 Share Posted February 1, 2007 Une solution simple et qui ne nécessite pas d'installer quoi que ce soit sur le serveur à tester est de tenter d'ouvrir des sockets: http://no2.php.net/fsockopen Pour tester plusieurs services, tu fais un script qui tente d'ouvrir des sockets sur chacun des ports concernés. Si ça répond sur un port donné, c'est que normalement le service correspondant au port va bien. Si la connection est refusée, c'est qu'aucun service n'écoute sur le port donné et que donc celui correspondant est down. Après si t'as beaucoup de services à tester sur ta page, pour éviter qu'elle prenne trois plombes à charger en attendant les timeouts des services qui sont tombés, soit tu met les résultats en "cache" (avec une validité de genre 10mn, t'as probablement pas besoin d'avoir du "temps réel"), soit tu fais un peu d'AJAX pour dynamiquement interroger les services et afficher les résultats sur ta page. Link to comment Share on other sites More sharing options...
Bab00n Posted February 3, 2007 Author Share Posted February 3, 2007 J'ai tester les socket, je comprend pas trop, sa fonctionne si je teste google sur le port 80 mais pas avec mon serveur TeamSpeak sur le port 8767. voila mon code : <?php $port = 8767; $ip = "xxx.xxx.xxx.xxx"; $sock = @fsockopen($ip, $port, $num, $error, 5); if (!$sock) echo '<font color="#CC0000">Hors ligne</font>'; else{ echo '<font color="#00CC00">En ligne</font>'; fclose($sock); } ?> Link to comment Share on other sites More sharing options...
woodystable Posted February 5, 2007 Share Posted February 5, 2007 sors le fclose du else. Link to comment Share on other sites More sharing options...
Jar0d Posted February 5, 2007 Share Posted February 5, 2007 Il vaut mieux effectivement utiliser les socket, car tu peux très bien avoir ton daemon d'actif sans pour autant que le serveur fonctionne Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.