Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

2 страниц V   1 2

Проблема с Cron-задачей для Мониторинга (WA34) Monitoring PRO 3

Статус пользователя eone
сообщение 11.1.2015, 0:26
Сообщение #1
Стаж: 11 лет

Сообщений: 317
Благодарностей: 180
Полезность: 245

Доброй ночи всем! Прошу меня извинить если создал тему не в том разделе, но более подходящего не нашел!

Суть проблемы в следующем. Сегодня меня на хостинге (где установлен форум и соответственно мониторинг) оповестили о том что:

Цитата
Здравствуйте.
Несколько часов назад был запрещен прямой доступ к php с крона. Если Вы используете рекомендуемый метод
ссылка (не реклама)
https://tcphost.net/база-знаний/технические-вопросы/51-поставить-php-файл-на-cron

то проблем не будет.


Но по тому принципу, который описан в рекомендуемом методе запустить задачу не удалось. И соответственно теперь мониторинг просто не обновляется!
Возможно кто то сталкивался с таким или знает решение данной проблемы.

Задача была такого вида - /var/www/e.one/data/www/сайт.ru/interface/task.php 3cd93f200085728d49d66e9b92ec1fa1 >/dev/null 2>&1

Сделал вот так - wget -O - -q -t 1 http://сайт.ru/interface/task.php?3cd93f200085728d49d66e9b92ec1fa1 >/dev/null 2>&1

Еще раз прошу прощение за беспокойство! И спасибо за любую помощь!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя XakepSDK
сообщение 11.1.2015, 1:01
Сообщение #2
Стаж: 11 лет

Сообщений: 60
Благодарностей: 13
Полезность: 169

Цитата(eone @ 11.1.2015, 4:26) *
Доброй ночи всем! Прошу меня извинить если создал тему не в том разделе, но более подходящего не нашел!

Суть проблемы в следующем. Сегодня меня на хостинге (где установлен форум и соответственно мониторинг) оповестили о том что:



Но по тому принципу, который описан в рекомендуемом методе запустить задачу не удалось. И соответственно теперь мониторинг просто не обновляется!
Возможно кто то сталкивался с таким или знает решение данной проблемы.

Задача была такого вида - /var/www/e.one/data/www/сайт.ru/interface/task.php 3cd93f200085728d49d66e9b92ec1fa1 >/dev/null 2>&1

Сделал вот так - wget -O - -q -t 1 http://сайт.ru/interface/task.php?3cd93f200085728d49d66e9b92ec1fa1 >/dev/null 2>&1

Еще раз прошу прощение за беспокойство! И спасибо за любую помощь!

Код
>/dev/null 2>&1
не нужно
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя eone
сообщение 11.1.2015, 1:10
Сообщение #3
Стаж: 11 лет

Сообщений: 317
Благодарностей: 180
Полезность: 245

Это появляется автоматом после создания задачи
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя XakepSDK
сообщение 11.1.2015, 10:39
Сообщение #4
Стаж: 11 лет

Сообщений: 60
Благодарностей: 13
Полезность: 169

Можно попробовать увеличить -t. Смотрите что в логах сервера или в ТП обратитесь.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя onotole
сообщение 11.1.2015, 11:00
Сообщение #5


Иконка группы

Стаж: 13 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

Меценат Меценат

Не получится через wget, так как скрипт получает параметры из консоли а не гет запросы.
Придется переписывать проверку в скрипте. Скорее всего там есть строки типа
Код:

if(!isset($argv[1]) || $argv[1] != '3cd93f200085728d49d66e9b92ec1fa1') {
exit('Какая-либо ошибка');
}


Ее заменить на такое
Код:

if(!isset($_GET['check']) || $_GET['check'] != '3cd93f200085728d49d66e9b92ec1fa1') {
exit('Какая-либо ошибка');
}


И сам крон делать так
wget -O - -q -t 1 http://сайт.ru/interface/task.php?check=3cd93f200085728d49d66e9b92ec1fa1 >/dev/null 2>&1

Отредактировал: onotole, - 11.1.2015, 11:00
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fire
сообщение 11.1.2015, 11:35
Сообщение #6


Иконка группы

Стаж: 17 лет

Сообщений: 2201
Благодарностей: 2227
Полезность: 963

Изначально так было?
Код
php -q /var/www/e.one/data/www/сайт.ru/interface/task.php 3cd93f200085728d49d66e9b92ec1fa1

Особо смысла не вижу запрещать эту команду.
Как вариант.
Код
php -q ~/www/сайт.ru/interface/task.php 3cd93f200085728d49d66e9b92ec1fa1


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя XakepSDK
сообщение 11.1.2015, 13:25
Сообщение #7
Стаж: 11 лет

Сообщений: 60
Благодарностей: 13
Полезность: 169

Скиньте task.php
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя eone
сообщение 11.1.2015, 14:02
Сообщение #8
Стаж: 11 лет

Сообщений: 317
Благодарностей: 180
Полезность: 245

вот task.php

Прикрепленный файл  task.php ( 1,56 килобайт ) Кол-во скачиваний: 60


а вот сам php мониторинга на всякий случай

Прикрепленный файл  webask_mon.php ( 5,88 килобайт ) Кол-во скачиваний: 42


Кто возьмется помочь, отблагодарю финансово!

Отредактировал: eone, - 11.1.2015, 14:09
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя onotole
сообщение 11.1.2015, 17:45
Сообщение #9


Иконка группы

Стаж: 13 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

Меценат Меценат

Цитата(eone @ 11.1.2015, 15:02) *
вот task.php

Прикрепленный файл  task.php ( 1,56 килобайт ) Кол-во скачиваний: 60


а вот сам php мониторинга на всякий случай

Прикрепленный файл  webask_mon.php ( 5,88 килобайт ) Кол-во скачиваний: 42


Кто возьмется помочь, отблагодарю финансово!

Код
if ( isset( $_SERVER['REQUEST_METHOD'] ) or !isset($_SERVER['argv'] ) or substr( str_replace( '\\', '/', $_SERVER['argv'][0] ), -18 ) !== 'interface/task.php' or strpos( $_SERVER['argv'][0], '?' ) !== FALSE )
{
    echo "CLI Only\n";
    exit;
}


замени на
Код
if(!isset($_GET['check']) || $_GET['check'] != '3cd93f200085728d49d66e9b92ec1fa1') {
    exit('CLI Only');
}


И задачу пиши так:
wget -O - -q -t 1 http://сайт.ru/interface/task.php?check=3cd93f200085728d49d66e9b92ec1fa1 >/dev/null

Отредактировал: onotole, - 11.1.2015, 17:45
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
XyLiGaN
сообщение 11.1.2015, 17:51
Сообщение #10
Стаж: 13 лет
Город: Югорск

Сообщений: 11668
Благодарностей: 6450
Полезность: 1052

Меценат Меценат

onotole, я Вам в ICQ написал по одному поводу, посмотрите пожалуйста.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя eone
сообщение 11.1.2015, 22:13
Сообщение #11
Стаж: 11 лет

Сообщений: 317
Благодарностей: 180
Полезность: 245

onotole, К сожалению задачу это не решило sad.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя onotole
сообщение 12.1.2015, 9:20
Сообщение #12


Иконка группы

Стаж: 13 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

Меценат Меценат

Цитата(eone @ 11.1.2015, 23:13) *
onotole, К сожалению задачу это не решило sad.gif

В браузере перейди по адресу
http://сайт.ru/interface/task.php?check=3cd93f200085728d49d66e9b92ec1fa1
что скажет?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя eone
сообщение 12.1.2015, 11:46
Сообщение #13
Стаж: 11 лет

Сообщений: 317
Благодарностей: 180
Полезность: 245

Код
#!/usr/bin/php -q CLI Only
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя onotole
сообщение 12.1.2015, 14:37
Сообщение #14


Иконка группы

Стаж: 13 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

Меценат Меценат

Цитата(eone @ 12.1.2015, 12:46) *
Код
#!/usr/bin/php -q CLI Only

Ха... Вот это я лоханулся. Скрипт просматривал в браузере и не обратил внимания на это

ТС, удали эту строчку из скрипта
#!/usr/bin/php -q
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя eone
сообщение 12.1.2015, 15:15
Сообщение #15
Стаж: 11 лет

Сообщений: 317
Благодарностей: 180
Полезность: 245

теперь пишет вот это

Код
CLI Only


но мониторинг все равно не обновляется sad.gif

Причем, когда я через панель задач на своем форуме (IPB) запускаю ее вручную, то обновление происходит, но только один раз. Дальше опять тишина, при использовании cron эта задача в планировщике естественно у меня выключена

Отредактировал: eone, - 12.1.2015, 15:26
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя onotole
сообщение 12.1.2015, 15:33
Сообщение #16


Иконка группы

Стаж: 13 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

Меценат Меценат

Цитата(eone @ 12.1.2015, 16:15) *
теперь пишет вот это

Код
CLI Only


но мониторинг все равно не обновляется sad.gif

Причем, когда я через панель задач на своем форуме (IPB) запускаю ее вручную, то обновление происходит, но только один раз. Дальше опять тишина, при использовании cron эта задача в планировщике естественно у меня выключена

Попробуй так
Прикрепленный файл  task.php ( 1,18 килобайт ) Кол-во скачиваний: 87


И задачу пропиши так
wget -O - -q -t 1 http://сайт.ru/interface/task.php?task=3cd93f200085728d49d66e9b92ec1fa1 >/dev/null

Отредактировал: onotole, - 12.1.2015, 15:35
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя eone
сообщение 12.1.2015, 15:41
Сообщение #17
Стаж: 11 лет

Сообщений: 317
Благодарностей: 180
Полезность: 245

неа sad.gif
А при ручном опять же обновляется один раз и все

При попытке выполнения
Цитата
http://сайт.ru/interface/task.php?task=3cd93f200085728d49d66e9b92ec1fa1
белый экран

Отредактировал: eone, - 12.1.2015, 15:43
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя onotole
сообщение 13.1.2015, 9:12
Сообщение #18


Иконка группы

Стаж: 13 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

Меценат Меценат

Цитата(eone @ 12.1.2015, 16:41) *
неа sad.gif
А при ручном опять же обновляется один раз и все

При попытке выполнения белый экран

Белый экран и будет. Значи напрямую скрипт работает. Слать в йух такой хостинг
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя kuznets92
сообщение 15.1.2015, 1:48
Сообщение #19


Стаж: 14 лет

Сообщений: 616
Благодарностей: 284
Полезность: 700

Цитата(onotole @ 12.1.2015, 16:33) *
И задачу пропиши так
wget -O - -q -t 1 http://сайт.ru/interface/task.php?task=3cd93f200085728d49d66e9b92ec1fa1 >/dev/null

Что за идиотизм задействовать wget и веб-сервер при запуске cron скрипта? Ресурсы девать некуда?! Больше ошибок нужно?!

Проверить, запущен ли скрипт из командной строки, это должно быть в task.php:
Код
if(php_sapi_name() != 'cli'){
    exit("Only CLI");
}


А скрипт запустить как-то так:
Код
php /путь/к/файлу/task.php
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя onotole
сообщение 15.1.2015, 10:09
Сообщение #20


Иконка группы

Стаж: 13 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

Меценат Меценат

Цитата(kuznets92 @ 15.1.2015, 2:48) *
Что за идиотизм задействовать wget и веб-сервер при запуске cron скрипта? Ресурсы девать некуда?! Больше ошибок нужно?!

Проверить, запущен ли скрипт из командной строки, это должно быть в task.php:
Код
if(php_sapi_name() != 'cli'){
    exit("Only CLI");
}


А скрипт запустить как-то так:
Код
php /путь/к/файлу/task.php

Ты, видимо, первый пост не читал совсем.
У человека шаред хостинг. Какая командная строка?
PHP в режиме интерактива на этом шареде запрещен, вот и приходится изгаляться
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
2 страниц V   1 2
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: