Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Статус сервера

Сообщения:  [1-8] 

 
 автор: cheops   (19.01.2005 в 22:32)   письмо автору
 
   для: denvor   (19.01.2005 в 21:20)
 

>А как сделать запись состояния серверов в лог-файл?
Здесь наверное нужно скрипт к демону cron привязывать....

   
 
 автор: denvor   (19.01.2005 в 21:20)   письмо автору
 
   для: Sfinks   (08.01.2005 в 09:21)
 

Здорово!
А как сделать запись состояния серверов в лог-файл?
Еще можно отсылку уведомления о недоступности сделать, но это просто :)

   
 
 автор: Sfinks   (08.01.2005 в 09:21)   письмо автору
 
   для: morf   (08.01.2005 в 03:02)
 

Замените
list($addr,$port)= explode (':', $address[$i]);
на
if(stristr($address[$i],'http://'))
  list($addr,$port)= explode (':', substr($address[$i],7));
else
  list($addr,$port)= explode (':', $address[$i]);

   
 
 автор: morf   (08.01.2005 в 03:02)   письмо автору
 
   для: cheops   (08.01.2005 в 02:50)
 

понятно.
у меня возникла проблема.
этотим скртиптом я вывожу интернет-радио сервер
и там где прописываються сервера, обязательно надо прописывать сервер радио с протоколом "http://" иначе страницу ненаходит.
у меня помима этого сервака ещё стоит Apachy и у меня определяет.
а если прописывать в этом коде с http://

$address[] = "link=http://www.yousite:8000";

то показывае всегда OFF LINE
что делать?

   
 
 автор: cheops   (08.01.2005 в 02:50)   письмо автору
 
   для: morf   (08.01.2005 в 01:59)
 

Можно тот же самый, но так как теперь адреса сайтов жёстко забиты в скрипт status.php, параметр link можно не передавать
<a href="http://localhost/radio/radio.pls"><img src="http://localhost/radio/status.php" border="0"> 

   
 
 автор: morf   (08.01.2005 в 01:59)   письмо автору
 
   для: cheops   (08.01.2005 в 00:11)
 

а какой код вставлять на страницу, который выдаст статус?

   
 
 автор: cheops   (08.01.2005 в 00:11)   письмо автору
 
   для: morf   (07.01.2005 в 23:41)
 

На тот случай если число серверов возрастёт :))) выкладываю обобщённый вариант
<?php
  
// Адрес первого сервера
  
$address[] = "link=localhost:8000";
  
// Адрес второго сервера
  
$address[] = "link=localhost:8000";
  
// Адрес третьего сервера
  
$address[] = "link=localhost:8000";
  
// Адреса картинок
  
$live "http://localhost/radio/on.gif";
  
$dead "http://localhost/radio/off.gif";

  
// Переменная принимает значение true,
  // если работает хотя бы один сервер
  
$flag false;
  for(
$i=0$i<count($address); $i++)
  {
    list(
$addr,$port)= explode (':'$address[$i]);
    if (empty(
$port)) $port 8000;
    
// Проверяем сервер
    
$churl = @fsockopen(server($addr), $port$errno$errstr20);
    if (
$churl$flag true;
    
fclose($churl);
  }
  
// Сообщаем статус
  
if ($churlheader("Location: $live");
  else 
header("Location: $dead");
  
//Test the server connection
  
function server($addr)
  {
    if(
strstr($addr,"/")){$addr substr($addr0strpos($addr"/"));}
    return 
$addr;
  }
?>

Для добавления нового сервера следует добавить ещё одно значение в массив $address:
<?php
  $address
[] = "link=localhost:8000";
?>

   
 
 автор: morf   (07.01.2005 в 23:41)   письмо автору
 
 

У меня есть скрипт который показывает статус сервера. онлайн и оффлайн картинками.
но мне надо чтоб он брал статус сразу с трёх серверов состояние и показывал тока 1 картинку ,а не 3 поотдельности, дапустим если 2 неработают сервера а 1 работает то картинка онлайн, если ниодного то картинка офлайн.

вот код

<?php
//Web Server Status v 1.2, Copyright 2002 By Ryan Schwiebert, visit http://www.schwebdesigns.com/
//This script may be freely distributed providing all copyright headers are kept intact. 

//Concept from:
//Abax Server Status v1.04, Copyright 2002 By Nathan Dickman, visit http://www.NathanDickman.com/
//Location of the live or dead server images

//Please change to your server specifications
$live "http://localhost/radio/on.gif";
$dead "http://localhost/radio/off.gif";

//The status checking script
//meddle at your own risk!
//check for port number, default is 8000
list($addr,$port)= explode (':',"$link");
if (empty(
$port)){
    
$port 8000;
    }
//Test the server connection
$churl = @fsockopen(server($addr), $port$errno$errstr20);
             if (!
$churl){
                
header("Location: $dead");
                }
             else {
                   
header("Location: $live");             
          }
function 
server($addr){
         if(
strstr($addr,"/")){$addr substr($addr0strpos($addr"/"));}
         return 
$addr;
}
?>


а этот код нада вставлять в саму страницу куда нужно показать статус сервера/ов

<a href="http://localhost/radio/radio.pls"><img src="http://localhost/radio/status.php?link=localhost:8000" border="0">


ПОМОГИТЕ !!!

   

Сообщения:  [1-8] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования