Test de contrôle serveur apache

Test de contrôle serveur apache - Divers - Programmation

Marsh Posté le 01-12-2003 à 17:16:12    

Salut
J'aimerai savoir s'il existe un moyen de tester (au moyen de php par exemple) un serveur apache , c'est à dire tester s'il est en activité.
Si le serveur n'est pas en activité , le script envoie un mail à l'administrateur.
Je connais en php les fonctions mail et je sais envoyer un mail au travers de sendmail , seulement j'aimerai bien trouver "un truc" qui me teste mon serveur apache et qui , le cas échéan m'envoie un mail si le serveur n'est pas en activité.
 
Merci d'avance si vous avez une solution

Reply

Marsh Posté le 01-12-2003 à 17:16:12   

Reply

Marsh Posté le 01-12-2003 à 17:17:38    

Par exemple , un test qui se declencherais toutes les 10 minutes...

Reply

Marsh Posté le 01-12-2003 à 19:59:14    

essaye d'ouvrir une page dessus via http, si ta page est servie, apache est on, sinon, t'envoies un mail...
pour les 10 minutes, exécute ton script en ligne de commande (crontab ou planificateur de tache)

Reply

Marsh Posté le 01-12-2003 à 19:59:28    

enfin, il y a pê plus propre [:proy]

Reply

Marsh Posté le 01-12-2003 à 20:26:18    

ouep pas bete ca , effectivement.
Par contre , le truc qui m'embete c'est le test.
Comment realiser la fonction :
Si apache on , tu ne fais rien
sinon , tu envoies un mail.
 
et dans crontab , qu'est ce que j'y mets?
 
Merci d'avance si vous avez une solution

Reply

Marsh Posté le 01-12-2003 à 20:32:19    

crontab exécute ton fichier php en ligne de commande.
dans ce fichier, tu mets un if(@fopen('http://adresseDu Serveur/nomDuFichier'))....

Reply

Marsh Posté le 01-12-2003 à 20:33:38    

yes ok , je vais essayer ca

Reply

Marsh Posté le 01-12-2003 à 20:35:56    

dropsy a écrit :

crontab exécute ton fichier php en ligne de commande.
dans ce fichier, tu mets un if(@fopen('http://adresseDu Serveur/nomDuFichier'))....


 
le @ devant le fopen , c normal???

Reply

Marsh Posté le 01-12-2003 à 20:37:06    

et le fichier qui va s executer via crontab , c 'est un .php , c'est ca?
(je debute , faut pas m'en vouloir pour toutes ces questions!)
:jap:


Message édité par cyberfred le 01-12-2003 à 20:37:53
Reply

Marsh Posté le 01-12-2003 à 20:41:52    

oui, il faut que tu regardes comment exécuter php en ligne de commande, sous windows "php test.php" , il utilise le php.exe du répertoire php. Sous linux ça doit être kif kif ;)

Reply

Marsh Posté le 01-12-2003 à 20:41:52   

Reply

Marsh Posté le 01-12-2003 à 20:46:04    

ok mais le @ devant le fopen?

Reply

Marsh Posté le 01-12-2003 à 20:48:29    

le @ c'est pour éviter les messages d'erreur.
si tu fais un fopen sur un fichier qui n'existe pas, tu auras un message d'erreur et le script risque de ne pas s'exécuter normalement (suivant le niveau de l'erreur), avec le @, le script continuera comme si de rien était ;)

Reply

Marsh Posté le 01-12-2003 à 20:54:13    

ok merci
Effectivement sous linux on a aussi la commande php.
je suppose donc que au final , dans mon test.php , j'ai ca :
<?
if(@fopen('http://adresseDu Serveur/test.php'))
else mail("mon adresse mail","probleme apache","attention le serveur est arrété" );
?>
 
et ensuite dans crontab je fais :
php test.php avec bien sur les bonnes options avant.
 
je precise que sendmail est configuré donc no souci pour envoyer les mails.
Plz , corrige moi pour mon script.
Merci d'avance

Reply

Marsh Posté le 01-12-2003 à 21:03:47    

en général, j'évite les syntaxes un peu exotiques des if...  
 
sinon ça m'a l'air bien, mais le mieux c'est de tester directement le script pour voir si il y a des erreurs ;)

Reply

Marsh Posté le 01-12-2003 à 21:39:12    

ok je te remercie ; je vais voir ca

Reply

Marsh Posté le 01-12-2003 à 21:44:17    

mince il me renvoie ca :
parse error
unexpected T_ELSE in test.php on line 3

Reply

Marsh Posté le 01-12-2003 à 21:46:45    

montre ton code, ke n'ai pas le don de voyance ;)
 
mais pê ton if exotique
fais un if(!@fopen(url)){mail(blabla);}


Message édité par dropsy le 01-12-2003 à 21:50:06
Reply

Marsh Posté le 01-12-2003 à 22:39:53    

oki mais je crois qque ca marche
sinon voici mon code :
<?
if(!@fopen('http:.../test.php'))
  {  
   mail(blabla);
  }
?>
 
me reste plus qu à programmer tout ca dans crontab ,
merci encore pour ton aide.
:jap:

Reply

Marsh Posté le 01-12-2003 à 23:00:35    

Mince marche pas , enfin si , le code ne me renvoie pas d'erreur mais meme si apache est "on" je recois un mail ;
 
une idée?


Message édité par cyberfred le 01-12-2003 à 23:42:54
Reply

Marsh Posté le 02-12-2003 à 00:18:03    

non c'est bon ca marche , no pb (j'avais une merde avec mes hotes virtuels mais c réglé) et pour ceux que ca interesse , voici le code final de test.php:
 
 <?  
if(!@fopen("http:www.masociete.com","r" )):  //attention ,double côte
   
  mail("adresse de messagerie","sujet","blalalla","bcc: autre adresse de messagerie" );  
 endif;  
?>  
 
et puis dans crontab je fais un php /var/www/html/test.php programmé tout les quart d'heure et ca roule.
 
merci encore pour ton aide dropsy
:hello:


Message édité par cyberfred le 02-12-2003 à 00:20:01
Reply

Marsh Posté le 02-12-2003 à 09:18:35    

de rien :)

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed