Reboot d'un serveur

Eléphant du PHP | 351 Messages

03 avr. 2008, 18:44

Bonjour à tous,

je voudrais savoir s'il est possible de créer une script sur un site A avec une tache cron chaque heure qui vérifie qu'un site B soit bien en ligne, s'il l'est tout est bon; or s'il ne l'est pas, le script lancerai le reboot du serveur du site B (sachant que j'ai tout les accès sur le serveur du site B),

Merci de vos répones.

ViPHP
ViPHP | 3300 Messages

03 avr. 2008, 18:55

s'il ne l'est pas comment le site A peut faire en sorte de rebooter le serveur B? il n'y a pas vraiment de solutions à moins que ton soucis soit plus spécifique et que tu l'exprimes mal.
Fait du php depuis que ca existe ou presque :)

Eléphant du PHP | 351 Messages

03 avr. 2008, 19:28

Merci dabord de ta réponse,
je réexplique :

Le site A (qui lui est en permanence en ligne...normalement) vérifie chaque heure via un script si un site B (situé sur un autre serveur que celui du site A) est bien en ligne.
Si le site B est en ligne, le script ne fais rien.
Or, si le site B n'est pas en ligne (mais le serveur du site B, lui, est bien en service), alors, le script du site A lance un reboot sur le serveur du site B.

J'espère avoir été clair :P

Merci d'avance.

ViPHP
ViPHP | 3300 Messages

03 avr. 2008, 20:01

ok, alors le plus simple serait sans doute de passer par ssh afin d'obtenir quelque chose de sécurisé (même si par essence tu crée une sorte de faille de sécurité en faisant comme ça) et de rebooter le pc comme ça. Tu peux le faire en php relativement simplement je crois.

Je me pose tout de même une question, qu'est ce qui peut t'amener à vouloir rebooter ton ordinateur plutot que de relancer, disont le service qui t'intéresse ou alors simplement essayer de comprendre pourquoi ce service ne reste pas en place?
Fait du php depuis que ca existe ou presque :)

Eléphant du PHP | 351 Messages

03 avr. 2008, 20:42

Bonsoir,

donc ce n'est pas vraiement mon ordinateur, mais bien un serveur dédié, hébergant un site,
ce qui me pousse à faire cela est que le site hébergé dessus crash régulièrement, juste ce site, et en rebootant le serveur, cela remarche, je ne sait pas d'où cela peut venir,

Merci

ViPHP
ViPHP | 5924 Messages

03 avr. 2008, 20:54

Pourquoi ne pas simplement relancer apache ?

Eléphant du PHP | 351 Messages

03 avr. 2008, 21:04

Daccord, mais je voudrais faire cela de facon automatiser.

ViPHP
ViPHP | 3300 Messages

03 avr. 2008, 22:18

à vrai dire ce n'est pas plus difficile de relancer apache que de rebooter le serveur mais l'une des méthodes (le reboot) semble un peu disproportionnée. Et puis il serait en fait meilleur d'essayer de comprendre pourquoi le site "crash" tu as des logs d'apache qui pourrait donner un début de piste?
Fait du php depuis que ca existe ou presque :)

ViPHP
ViPHP | 4039 Messages

03 avr. 2008, 22:23

peut-être qu'il utilise ruby... :twisted:
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Eléphant du PHP | 351 Messages

04 avr. 2008, 09:56

Alors, je veux bien essayer de comprendre, cela doit etre du au fait que le site fonctionne assez bien (c'est un site de jeu), et du coup, la base de donnée ou le serveur sature.
Je ne vois que cela, en attendant, auriez-vous un script pour ma solution?

Merci d'avance.

Eléphant du PHP | 175 Messages

04 avr. 2008, 10:29

ben tu peux faire ton script toi meme,
si j'ai bien compris le but est de tester si le serveur apache est toujours en etat normal...

donc tu met un script sur ton serveur web (B) avec un minimum de traitement et tu l'appel depuis (A) si il met du temps a repondre ou ne renvois pas les informations voulues tu lance ton redemarrage apache...

mais sinon tu peux mettre le script de verification directement sur le serveur (B), en testant les process apache, la memoire utilisee, l'age du capitaine, etc. et redemarrer apache en cas de comportement suspect...

Eléphant du PHP | 351 Messages

04 avr. 2008, 11:11

Daccord, mais comment vérifier par exemple, qu'une page affiche :
OK
Et si non, comment faire pour rebooter apache (ou le serveur) à partir d'un autre serveur, tout cela automatiquement(sans aucune intervention humaine) ?

Mammouth du PHP | 684 Messages

04 avr. 2008, 11:30

Un script sur le serveur B peut suffire.
Dans ton script tu essaye d'appeler une page specifique que tu a developper. En gros elle retourne juste
un OK.
Exemple :
<?php
//Serveur B : Page PHP : unepagequiafficheok.php
echo 'OK';
?>
Ensuite tu peux faire un script bash qui est lance par ta crontab.

Code : Tout sélectionner

#!/bin/bash wget -O /home/user/test.html http://www.tonserveur.fr/unepagequiafficheok.php if [ ! -f /home/user/test.html ] ; do sudo /etc/init.d/apache restart fi rm -f /home/user/test.html
Bon c'est pas super comme code mais ca va peut etre te donner des idees pour
commencer un code.
Zigz4g

Eléphant du PHP | 351 Messages

04 avr. 2008, 11:52

Merci,

j'avoue ne pas connaitre les script bash, et dans plesk, pour mettre la commande de ma crontab, il me porpose qu'une seule ligne, que mettre?

Merci

ViPHP
ViPHP | 5924 Messages

04 avr. 2008, 13:42

Tu mets le code de zigz4g dans un fichier .sh et tu mets son chemin dans la commande du crontab.