Test de contrôle serveur apache - Divers - Programmation
Marsh Posté le 01-12-2003 à 17:17:38
Par exemple , un test qui se declencherais toutes les 10 minutes...
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)
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
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'))....
Marsh Posté le 01-12-2003 à 20:35:56
dropsy a écrit : crontab exécute ton fichier php en ligne de commande. |
le @ devant le fopen , c normal???
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!)
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
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
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
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
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
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);}
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.
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?
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
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