|
|
|
| Здравствуйте! =))
Очень мне хочется, проконтролировать свой хостинг на предмет доступности....
Судя по моей статистике, за последние пять дней он 5 часов был недоступен, но проблема в том, что статистика пишется только при обращении пользователя к сайту. За недоступность я воспринимаю длительное отсутствие статистики... Теоретически конечно возможно, что втечение 60-80 минут не было ни одного обращения, но при нормальной посещаемости 5-20 обращений в минуту, сами понимаете, это маловероятно. Но тут вмешивается то, что обращение идет не напрямую через http, а по SMS с мобилы через сервер BeeOnLine, который тоже зачастую висит.
Так вот вопрос....
Можно написать скрипт, который будучи запущенным 1 раз, будет безконечно себя перезапускать с периодичностью 1 минута?... Так, чтоб я с браузера к нему обратился, затем закрыл страницу, отключился от инета, а ему на меня было плевать.... Чтоб на хосте он продолжал работать.
Ну а суть его работы, думаю, понятна....
Например он пытается прочитать файл 1.txt, расположенный в той же папке, только через http.... T.e. http://hostingname/ping/1.txt. При успешном получении контекста он дописывает в файл пинга 10:30-OK, иначе 10:30-NOOK.
Возможно? | |
|
|
|
|
|
|
|
для: Sfinks
(11.02.2005 в 11:15)
| | На мой взгляд это не возможно, так как нет клиента, в чьем бы броузере открывался ваш сайт.
Лично моё мнение таково, а там кто его знает...
Чего уже только не придумают, так возможно что и да такого додумались, но теоритечески, php не способен сам с собой работать, т.е. без клиента...
JavaScript тем более!
( :\ ) | |
|
|
|
|
|
|
|
для: Sfinks
(11.02.2005 в 11:15)
| | Можно сделать стандартными средствами, но придёт быть в онлайн...
По другому не знаю, а вообще штука полезная была бы!! и не заменимая!
:) | |
|
|
|
|
|
|
|
для: Sfinks
(11.02.2005 в 11:15)
| | На хостингах часто бывает такая служба как cron суть которой и заключается в запуске программ по расписанию.
Сам я про её глубоко не изучал, а в Вашем случае наверное полезно было бы к ней обратиться. | |
|
|
|
|
автор: Никоза. (11.02.2005 в 15:04) |
|
|
для: Axxil
(11.02.2005 в 14:17)
| | А разве крон решит проблему? Ну, сервер будет недоступен, но крон-то всё равно будет тикать. И потом покажет, что всё O.K. Каждую минуту плюсик ставить.
Даже если сервер и недоступен на самом деле... | |
|
|
|
|
автор: Никоза. (11.02.2005 в 15:07) |
|
|
для: Никоза.
(11.02.2005 в 15:04)
| | Вот если только крон пусть каждые 15 минут письмецо отправляет?
если есть за сутки 72 письма в ящике - всё O.K. | |
|
|
|
|
автор: cheops (из ННГУ) (11.02.2005 в 19:28) |
|
|
для: Никоза.
(11.02.2005 в 15:07)
| | cron можно повесить на локальной машине, если помегабайтка, а не повремёнка... | |
|
|
|
|
|
|
|
для: Sfinks
(11.02.2005 в 11:15)
| | Можете воспользоваться cron-ом, а можете написать своего демона, но щас мало мест где вы его сможете разместить | |
|
|
|
|
автор: Никоза. (11.02.2005 в 15:22) |
|
|
для: isset
(11.02.2005 в 15:06)
| | Вот ещё интересный вариант...
Когда пишешь интернет-программу на Delphi, там подключение компьютера к интернету можно проверить например вот так - пингуешь какой-нибудь хост, и далее в зависимости от результата. Интересно, в php подобное возможно? | |
|
|
|
|
|
|
|
для: Sfinks
(11.02.2005 в 11:15)
| | Есть в интернете проект с именем uptime. Они как раз проводят мониторинг доступности сайтов.
Не знаю, правда, работают ли они сейчас и насколько правдивы их результаты...., но посмотреть стоит. | |
|
|
|
|
автор: cheops (из ННГУ) (11.02.2005 в 19:30) |
|
|
для: glsv (Дизайнер)
(11.02.2005 в 17:01)
| | Угу... только хостеры вывешивают какой-нибудь прокси-сервер или почтовый сервер для мониторинга. Web-сервер лежит, база данных лежит, а эти пашут... | |
|
|
|
|
|
|
|
для: cheops (из ННГУ)
(11.02.2005 в 19:30)
| | Да , cheops прав , к тому же эти аптаймы сами работают через пень-колоду. А через крон можно (наверное) запускать пинг с перенаправлением в файлы заданной директории. Потом, раз в день, скажем, архивировать эти файлы, скидывать по мылу. + удалять в директории файлы недельной давности.
1 * * * * ping -c5 host | gzip -c >> 'date "+%Y-%m-%d"'.txt
Вот, если , не ошибаюсь, примерно так:
- запуск пинга каждую минуту
- пингуем host пять раз
- жмем результат
- дозаписываем его в файл "дата".txt
пошел пробовать :)
попробовал - чего-то не жмется , а в остальном работает. И раз мы дозаписываем и не жмем: ping -c5 host >> ping.txt
Потом дома анализируем файл по строкам типа "..% packet loss" | |
|
|
|
|
|
|
|
для: cheops (из ННГУ)
(11.02.2005 в 19:30)
| | Там не хостеры вывешивают, а все кто хочет свой сайт протестить именно его и указывают. Но это, конечно, еще не гарантия. | |
|
|
|
|
|
|
|
для: Sfinks
(11.02.2005 в 11:15)
| | Наверное самое лучше будет повесить cron (для Windows идеальным является nnCron - не полная версия, а Lite http://www.nncron.ru/download/nncronlt.zip - он бесплатный и консольный, полная версия имеет Windows-интерфейс, но это только cron портить :) следует написать скрипт дёргающий сервер время от времени, например, так как это сделано в теме http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=1426, назначить в качестве обработчика PHP-скриптам С:/php/php.exe http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=1696, тогда проверка будет осуществляться автоматически в назначенное вами время или вы сами сможете запускать скрипт по двойному щелчку мыши или Enter. | |
|
|
|
|
|
|
|
для: cheops
(12.02.2005 в 00:26)
| | Вот можно попробывать такой вариант. В принципе при установках ignore и setlimit скрипт должен продолжить свою работу, даже если юзер слинял, на этом и попробуй сыграть.
Тут просто образец, время, когда нужно что то писать в файл сам код придумаешь.
<?php
set_time_limit(3600*24);
ignore_user_abort();
$cntr=1;
while($cntr<24){
$tm=date("H", time());
if($tm==14){
$fl="tsts.txt";
$fp=fopen($fl, "w");
fwrite($fp, "OK!");
fclose($fp);
$cntr++;
}
}
?>
|
| |
|
|
|