Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
43 / 17 / 4
Регистрация: 22.02.2012
Сообщений: 327

Крон-планировщик не может найти выполняемый скрипт

01.06.2013, 18:20. Показов 2892. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго дня.
Юзаю реальный хостинг только пару дней(до этого только денвер), поэтому несколько вопросов.
В планировщике написал путь до скрипта :/usr/local/bin/php /var/u603****/data/www/сайт.ru/test.php
Файлик test.php лежит прямо в корне сайта. В папке с доменным именем.
Он рабочий! Проверено!
Крон должен запускать его каждые 3 минуты: */03 * * * *. Он это и делает. Но результат нулевой.
На почту приходит ошибка: /bin/sh: /usr/local/bin/php: No such file or directory.
(В глобальных настройках крона прописаны пути поиска программ: /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin).
Вопросы:
-почему крон не находит файл?
-что означают эти папки /usr/local/bin/php /var/u603****/data/. Я в них даже через ftp-клиент зайти немогу.

(панель управления ISPmanager)

Заранее спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.06.2013, 18:20
Ответы с готовыми решениями:

Планировщик крон + вордпресс хуки
привет, народ. Встала очень необычная задача, не знаю как решить. Есть около 25 файлов с различными массивами - array1.php , array2.php ,...

Периодически выполняемый php скрипт
Хочу сделать динамический пароль для админки. А для этого нужно, чтобы постоянно выполнялся через какое-то время заранее записанный мной...

Получить текущий выполняемый скрипт
Здравствуйте! Есть у js currentScript Получает текущий скрипт. Но у него вот такая таблица поддерживаемых браузеров 90% не плохо, но...

11
 Аватар для KeyGen
388 / 295 / 21
Регистрация: 07.08.2011
Сообщений: 790
Записей в блоге: 1
02.06.2013, 02:46
Возможно cron ищет файл с корня сайта а не сервера. Если файл лежит в коне сайта попробуй указать просто его имя или ./имя
0
Не мoдepaтор
 Аватар для MVS76
340 / 315 / 94
Регистрация: 07.07.2012
Сообщений: 1,040
Записей в блоге: 7
02.06.2013, 03:53
а какая потребность такого частого запуска крона? Может нужно сделать другую реализацию?
0
02.06.2013, 04:01

Не по теме:

Цитата Сообщение от MVS76 Посмотреть сообщение
а какая потребность такого частого запуска крона? Может нужно сделать другую реализацию?
А какая разница в принцепе? У человека просто не работает cron.

0
Не мoдepaтор
 Аватар для MVS76
340 / 315 / 94
Регистрация: 07.07.2012
Сообщений: 1,040
Записей в блоге: 7
02.06.2013, 04:38
Может есть смысл пересмотреть решение без крона.
Если нужно отображать какой либо контент пользователю, а пользователей нет целый час, то зачем лишний раз дергать кроном скрипт, показывать то некому, можно использовать другое решение:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$last_cron_time = file_get_contents('cron.txt');
mt_srand(time()+(double)microtime()*1000000);
$xwx = mt_rand(10,60); // прибавляет рандом, если не обязательно четко каждые N-минут.
$period = time() - 60 * (3+$xwx); // здесь задаем время(в секундах), вывести можно так echo $period; а проверить здесь http://www.cy-pr.com/tools/time/
if ($last_cron_time < $period) {
 
// здесь выполняемый код, который будет запускатся по времени
 
file_put_contents('cron.txt',time());
}
?>
Тогда он будет запускаться не реже, чем есть пользователь на странице, и не чаще чем выставленное время.
Также будет запускать при посещении бота.
А какая разница в принцепе? У человека просто не работает cron.
Вот что я имел ввиду.
0
 Аватар для KeyGen
388 / 295 / 21
Регистрация: 07.08.2011
Сообщений: 790
Записей в блоге: 1
02.06.2013, 05:08
Цитата Сообщение от MVS76 Посмотреть сообщение
Может есть смысл пересмотреть решение без крона.
Если нужно отображать какой либо контент пользователю, а пользователей нет целый час, то зачем лишний раз дергать кроном скрипт, показывать то некому, можно использовать другое решение:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$last_cron_time = file_get_contents('cron.txt');
mt_srand(time()+(double)microtime()*1000000);
$xwx = mt_rand(10,60); // прибавляет рандом, если не обязательно четко каждые N-минут.
$period = time() - 60 * (3+$xwx); // здесь задаем время(в секундах), вывести можно так echo $period; а проверить здесь http://www.cy-pr.com/tools/time/
if ($last_cron_time < $period) {
 
// здесь выполняемый код, который будет запускатся по времени
 
file_put_contents('cron.txt',time());
}
?>
Тогда он будет запускаться не реже, чем есть пользователь на странице, и не чаще чем выставленное время.
Также будет запускать при посещении бота.
Вот что я имел ввиду.
Ну и вем прикол?
Добавлять скрипт на все страницы сайта?
Выполнится-не выпонится не известно: зашел - вышел пользователь скрипт не выполнился.
Бота фигачить какого-то. Если есть крон зачем все это?
И вопрос совсем другой: Крон-планировщик не может найти выполняемый скрипт.
А насет этого: "А какая разница в принцепе? У человека просто не работает cron." читай подпись.

Не по теме:

Сообщение в тему: Сообщений: 666

0
Не мoдepaтор
 Аватар для MVS76
340 / 315 / 94
Регистрация: 07.07.2012
Сообщений: 1,040
Записей в блоге: 7
02.06.2013, 05:40
почему я и спрашивал, какая задача?
А скрипт можно поставить куда угодно если шаблонная верстка, хоть в шапку, при том в одном месте один раз!
У меня парсер по нем отрабатывает отменно, а по крону скачивал-бы контент когда не нужно, зачем напрягать чужой сервак, да и мне зачем обновления если показывать некому.
0
 Аватар для KeyGen
388 / 295 / 21
Регистрация: 07.08.2011
Сообщений: 790
Записей в блоге: 1
02.06.2013, 05:46
Я конечно согласен что все зависит от задачи. Я о том что вопрос стоит другой. И не забывай про напряг на сервак при выполнении этого скипта при заходе одновремменно куче пользователей.
0
Не мoдepaтор
 Аватар для MVS76
340 / 315 / 94
Регистрация: 07.07.2012
Сообщений: 1,040
Записей в блоге: 7
02.06.2013, 13:22
Цитата Сообщение от KeyGen Посмотреть сообщение
И не забывай про напряг на сервак при выполнении этого скипта при заходе одновремменно куче пользователей.
Вот это условие много ресурсов не берет
PHP
1
2
3
$last_cron_time = file_get_contents('cron.txt');
// и это тоже
if ($last_cron_time < $period) {
Постараюсь описать преимущества скрипта:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$last_cron_time = file_get_contents('cron.txt'); // получаем время последнего выполнения скрипта
mt_srand(time()+(double)microtime()*1000000);
$xwx = mt_rand(10,60); // прибавляет рандом, если не обязательно четко каждые N-минут.
$period = time() - 60 * (3+$xwx); // здесь задаем время(в секундах), вывести можно так: echo $period; а проверить здесь http://www.cy-pr.com/tools/time/
if ($last_cron_time < $period) {  // считает разницу между последним и теперешним временем, проверяет условие, при том не зависит сколько пользователей на линии, раньше чем нужно - не выполнится.
 
// здесь выполняемый код, который будет запускаться по времени
 
file_put_contents('cron.txt',time()); // если скрипт выполнился, пишем новое время - то есть текущее мировое время - не локальное.
}
?>
Но а если пользователей нет, то и запускать смысла нет, кому запускать, кому показывать контент - серверу?

Добавлено через 6 минут
И тем более что если это парсер, а представьте с вашего сайта что-то парсят каждые три минуты, вы ведь примите меры?
А здесь преимущество перед кроном очевидное, если контент не нужен, то незачем за ним лазить на чужой сервак часто, лишний раз палится.

Добавлено через 7 минут
Я его храню в отдельном файле "cron.php" и подключаю в шапке, у меня шаблонный сайт, удобно что в одном месте подключил, и на все страницы
PHP
1
<?php include 'cron.php';?>
Но опять - же, все зависит от задачи.
0
508 / 358 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
02.06.2013, 13:36
Все вроде ясно написано:
Цитата Сообщение от Gabriel.exe Посмотреть сообщение
/usr/local/bin/php: No such file or directory.

И такой вопрос: почему ты не спросил хостера, в чем проблема?
0
43 / 17 / 4
Регистрация: 22.02.2012
Сообщений: 327
02.06.2013, 23:17  [ТС]
Ух какие споры вызвал мой вопрос. Щас все опишу.

Не по теме:

Мне нужно раз в ДВА ДНЯ менять картинку(условно: черный или белый логотип) которая выводиться на всех страницах без исключения. Изначально я написал функцию на php которая высчитывала сколько дней прошло со дня X и если прошедшие дни кратны 1 или 2 то выводиться белая картинка, если 3 и 4 то черная. Все функции вынес в файл и подключал его , и уже потом вызывал эту функцию. Мне показалось это неразумным, при каждом обновлении выполнять функцию. К тому же там html выводиться через echo, а это говорят не есть хорошо, нужно шаблоны говорят использовать. И решил я в шаблоне страницы выводить логотип статичным html-ем: <img src="logo.png">. Ну и собственно раз в два дня картинка должна была подменяться на другую. Вот это и делал крон, ровно в полночь, каждые два дня. А настроил я его на две минуты, чисто для того чтобы посмотреть работает он или нет, согласитесь ждать до полуночи не очень хочется. Это всего лишь тестовый скрипт.


Вот кстати сам скрипт, который буд потом работать, когда пойму как его запускать
PHP
1
2
3
4
$passed = (ceil((strtotime(date('d.m.Y'))-strtotime('10.05.2013'))/86400)) % 4;//сначала вычисляю сколько дней прошло с даты X,
//делю ее на 4 и с остатком работаю дальше.
    if($passed==1 || $passed==2) copy('img/logo_white.png', 'logo.png'); 
    else copy('img/logo_black.png', 'logo.png');
И такой вопрос: почему ты не спросил хостера, в чем проблема?
Я еще мало знаю, чтобы хостера трясти, попробую сам разобраться. А то ничему не научусь.
0
 Аватар для KeyGen
388 / 295 / 21
Регистрация: 07.08.2011
Сообщений: 790
Записей в блоге: 1
02.06.2013, 23:54
Цитата Сообщение от Gabriel.exe Посмотреть сообщение
$passed = (ceil((strtotime(date('d.m.Y'))-strtotime('10.05.2013'))/86400)) % 4;//сначала вычисляю сколько дней прошло с даты X
Крон сам вычисляет дату... Почитай о кроне. wikipedia - Cron Установи linux. Посиди годик на нем. И легко будешь разбиратся в таких вопросах. Очень многие сервара используют linux.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.06.2013, 23:54
Помогаю со студенческими работами здесь

поставить на крон php скрипт
как можно поставить этот скрипт на cron, чтобы выгрузился весь товар в excel? $sql = &quot;SELECT...

Скрипт не может найти интерпретатор из-за ^M
вот такой скрипт: #! /bin/sh path='/home/example/server' echo `date +%Y/%m/%d\ %H:%M:%S` start &gt;&gt; $path/restarts.log echo $$ &gt;...

Планировщик заданий и php скрипт
Как можно добавить задачу в планировщик чтобы она выполнялась в определенное время и выполняла к примеру файл test.php т.е. в файле...

Сколькими способами планировщик может переставить задачи?
В очереди на исполнение стоят 10 задач, сколькими способами планировщик может их переставить так, чтобы каждая задача выбиралась на...

Планировщик задач не хочет запускать скрипт VBS
Здравствуйте, не могу запустить файл vbs через планировщик, пишет ошибку мол 1 строка, символ 5. Но когда просто так открываю файл все...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru