|
|
|
| Решил написать скрипт мониторинга фтп серверов, чтобы он проверял работает или нет сервер.
Самый простой способ какой нашел, это тупо подключаться к серверу и тут возникли проблемы:
function ftp($ftp_server,$ftp_port)
{
$link = ftp_connect($ftp_server,$ftp_port);
if(!$link)
{
return $status="ON";
}
else
{
return $status="OFF";
}
ftp_close($link);
}
|
Как лучше организовать мониторинг, каждый раз при загрузке обращаться?? или в базу писать??, тогда какой интервал?? И как быстро будет открываться страница при наличии в базе порядка 20-30 фтп??? Как его можно изменить для сайтов?? Http?? | |
|
|
|
|
автор: a (24.10.2006 в 17:45) |
|
|
для: hin
(24.10.2006 в 17:02)
| | function http($server)
{
$link = file_get_contents($server);
if(!$link)
{
return $status="ON";
}
else
{
return $status="OFF";
}
} | |
|
|
|
|
|
|
|
для: a
(24.10.2006 в 17:45)
| | она быстрее будет работать??
А что это за ошибка такая??
ftp_rawlist(): Unable to create temporary file. Check permissions in temporary files directory.
|
| |
|
|
|
|
|
|
|
для: hin
(24.10.2006 в 17:58)
| | По-моему file_get_contents() только для HTTP-серверов, для FTP не подойдет... | |
|
|
|
|
|
|
|
для: Unkind™
(24.10.2006 в 18:08)
| | может сокеты? | |
|
|
|
|
|
|
|
для: st.Ass
(24.10.2006 в 19:34)
| | с сокетами попробовать стоит, ибо по опыту знаю, задавался уже таким вопросом, использовал такой же скрипт. при наличии около 10 серверов, страница грузилась больше минуты | |
|
|
|
|
|
|
|
для: hin
(24.10.2006 в 17:02)
| | для ftp_connect можно задать таймаут
( string host [, int port [, int timeout]] )
|
| |
|
|
|
|
|
|
|
для: kasmanaft
(24.10.2006 в 22:37)
| | Для мониторингов лучше использовать не скрипты, а программы... ибо php для этого слишком слабенький.. | |
|
|
|
|
|
|
|
для: slonik
(24.10.2006 в 23:50)
| | А с сокетами как?? Неподскажете?? | |
|
|
|
|
|
|
|
для: hin
(25.10.2006 в 17:08)
| | Вопрос ещё стоит, как сделать проверкупри помощи сокетов??? | |
|
|
|
|
|
|
|
для: hin
(09.11.2006 в 14:12)
| | К сожалению в рнр полный валенок. Вопрос такой.
Может кто нибудь выложить скрипт проверки серверов, чтоб в итоге выводилось что нибудь типа:
1. Вася "Online"
2. Федя "Offline"
ну и так далее...?
Зарание благодарен | |
|
|
|
|
|
|
|
для: WVK
(28.01.2007 в 19:59)
| | Неужели не пойдет
<?php
function status ($host) {
$ftp = ftp_connect ($host);
return ($ftp) ? 'Online' : 'Offline';
}
?>
|
| |
|
|
|
|
|
|
|
для: bronenos
(28.01.2007 в 20:58)
| | Может и подойдет :) только я же написал, что в рнр непонимаю совсем. поэтому прошу объяснить, в какое место в этом скрипте прописывать адреса серверов... насколько я понял, тут написано, что при соединении с хостом возвращать ответ 'Online' или 'Offline'. меня устроит. Осталось только запустить опрос списка серверов 1 раз в час. ещё бы знать как
Будьте добры, объясните неучу в бананах и яблоках :) | |
|
|
|
|
|
|
|
для: WVK
(28.01.2007 в 23:47)
| |
<?php
function status ($host) {
$ftp = ftp_connect ($host);
return ($ftp) ? 'Online' : 'Offline';
}
// наша функция
$hosts = array ('ftp.dima.net', 'ftp.himalai.ru', 'ftp.freedomf.net');
// список серверов
foreach ($hosts as $host)
print "<b>$host</b>: ".status($host)."<br>";
// идем по каждому и печатаем статус
?>
|
Вот весь этот текст сохраняете в ftps.php например файл и готово.
Запускать каждый час не надо
Он проверяет по требованию
Кстати последний это мой :)
Если покажет рабочий значит все в порядке :) | |
|
|
|
|
|
|
|
для: bronenos
(29.01.2007 в 00:00)
| | работает, спасибо за помощь! | |
|
|
|
|
|
|
|
для: bronenos
(28.01.2007 в 20:58)
| | return ($ftp) ? 'Online' : 'Offline';
Прикольная фраза, первый раз вижу, кто осмелиться обьяснить ее? | |
|
|
|
|
|
|
|
для: Бамси
(28.01.2007 в 23:59)
| | равно:
if ($ftp)
return 'online';
else
return false; | |
|
|
|