Réaliser un site mirroir utilisé si le temps d'accès est trop long

Réaliser un site mirroir utilisé si le temps d'accès est trop long - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 14-04-2006 à 18:40:41    

Bonjour,
 
Je loue un hébergement pour mon site et ais parfois des problèmes d'accès, il y a en particulier qques fois des problèmes de chargement liés à l'accès au serveur SQL
 
Ayant un serveur personnel, je souhaiterais qu'il soit utilisé comme site mirroir si le temps d'accès est trop long.
 
Je n'utiliserai pas le ping comme valeur de référence car, par ex si c'est un problème SQL, le ping peut etre bon alors que le site peut etre en même temps inaccessible
 
J'ai donc pensé à un wget, suivi de la mise en place d'un htaccess (par ftp) si le temps de téléchargement était trop long (par exemple 1 seconde, qu'en pensez vous ?)
 
Comment réaliser cet encheinement ? :
comment connaitre lors d'un wget automatique le temps de télechargement ? comment en faire une condition pour les commandes suivantes ?

 
Je pense faire ce teste toutes les minutes, donc il faudrait à chaque fois se connecter au ftp, supprimer le htaccess si il y en a un (pour éviter de faire un wget sur le site miroir), faire un wget, mettre un htaccess si nécessaire
 
Merci beaucoup !

Reply

Marsh Posté le 14-04-2006 à 18:40:41   

Reply

Marsh Posté le 14-04-2006 à 19:35:13    

commande time pour avoir le temps d'éxécution d'une commande, tu colles ça dans une variable et la variable est inférieure à une valeur donnée, tu poursuis le script.
 
un truc du genre

Code :
  1. TEMPS=`time wget http://mon_fichier`
  2. if [ $TEMPS -lt 1000 ]; then
  3.     envoie_fichier
  4. else
  5.     exit 0
  6. fi


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 14-04-2006 à 20:04:29    

la valeur 1000 est en quelle unité ? ca représente 1 seconde ?
donc si j'ai bien compris :
 

Code :
  1. suppression_htaccess=`ftp -n  henol.fr << FIN
  2. user nom mot_de_passe
  3. rm .htaccess
  4. quit
  5. FIN`
  6. envoie_htaccess=`ftp -n  henol.fr << FIN
  7. user nom mot_de_passe
  8. lcd /home/henri
  9. put .htaccess
  10. quit
  11. FIN`
  12. TEMPS=`time wget http://www.henol.fr`
  13. suppression_htaccess
  14. if [ $TEMPS -lt 1000 ]; then
  15.     envoie_htaccess
  16. else
  17.     exit 0
  18. fi


Message édité par Proxounet le 14-04-2006 à 20:04:45
Reply

Marsh Posté le 14-04-2006 à 20:48:10    

c'est un exemple, il faut adapter pour le format de sortie de time et mettre la valeur que tu veux.


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 14-04-2006 à 21:13:46    

J'ai cherché sur google mais n'ai pas réussi à comprendre ta commande
peut tu m'explique rapidement à quoi correspond -lt 1000 ?
 
je viens de trouver que time est en ms, donc 1000, 1sec, pensez vous que c'est une bonne valeur pour déterminer si un site est trop lent/inaccessible ?
 
merci
 
PS : et fi tout a la fin ? c'est la premiere fois que je le rencontre


Message édité par Proxounet le 14-04-2006 à 21:15:58
Reply

Marsh Posté le 14-04-2006 à 22:25:41    

Coté temps, je trouve que c'est un bon compromi 1seconde ... Parcontre il faut que ton serveur perso soit plus rapide ... Et ca il faut le controler ... Parceque echanger un temps de latence de 2s sur le serveur contre un de 15 s chez toi ... C'est pas trop le top a mon avi :D
 
Edit : le "fi" c'est la fermeture du if


Message édité par esox_ch le 14-04-2006 à 22:26:38

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 14-04-2006 à 22:35:09    

Disons que pour la vitesse de mon serveur ca peut aller, c'est juste une rustine :)
En fait j'estime que : soit le site fonctionne normalement est le temps d'accès est très cours, soit il y a un problème et c'est supérieur à 1 sec
 
J'ai régulièrement des problèmes le soir avec mon hébergeur :/


Message édité par Proxounet le 14-04-2006 à 22:35:33
Reply

Marsh Posté le 14-04-2006 à 22:38:59    

Ha un petit plus au fait,  
Pour la sauvegarde du site, est il possible d'incrémenter une ligne après le "<body>" de chaque page télechargée ? (un message prévenant qu'il s'agit d'un site mirroir)
Quel est l'extention des pages télechargées par wget ?
je pense à un "find -exec grep" mais apres :/


Message édité par Proxounet le 15-04-2006 à 11:04:31
Reply

Marsh Posté le 15-04-2006 à 18:09:55    

Il ne faudrait pas exécuter TEMP avant d'en faire une condition ?
du genre
 

Code :
  1. #!/bin/sh
  2. suppression_htaccess=`ftp -n  henol.fr << FIN
  3. user user pass
  4. cd public_html
  5. rm .htaccess
  6. quit
  7. FIN`
  8. envoie_htaccess=`ftp -n  henol.fr << FIN
  9. user user pass
  10. lcd /home/henri/henol_fr
  11. cd public_html
  12. put .htaccess
  13. quit
  14. FIN`
  15. TEMPS=`time wget http://www.henol.fr -O /home/henri/henol_fr/index`
  16. rm /home/henri/henol_fr/index
  17. suppression_htaccess
  18. TEMPS
  19. if [ $TEMPS -lt 1000 ]; then
  20.     envoie_htaccess
  21. else
  22.     exit 0
  23. fi


Message édité par Proxounet le 16-04-2006 à 20:16:34
Reply

Marsh Posté le 16-04-2006 à 20:15:28    

up, il suffit donc bien d'éxecuter time pour ensuite faire une condition avec sa valeur ?

Reply

Sujets relatifs:

Leave a Replay

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