-
28.08.2009, 07:36
#1

Junior Member
Cron и ошибка 255
Доброй ночи! ISPpro, cron вытворяет просто непонятные мне вещи.
команда:@hourly /usr/local/bin/php /home/p90006/data/www/website.com/acd/main.php >/dev/null 2>&1
сам скрипт отлично запускается, никаких проблем с путями нет.
ошибка в режиме ручного запуска:
Exited with return code = 255в лог падает:
Aug 28 02:35:00 cs2066 /usr/sbin/cron[83808]: (p90006) CMD (/usr/local/bin/php /home/p90006/data/www/website.com/acd/main.php >/dev/null 2>&1)
Но как-то эффекта нету…
в чем соль ошибки 255 ? Спасибо!
-
28.08.2009, 22:06
#2

ISPsystem team

Руками если запустить в ssh
/usr/local/bin/php /home/p90006/data/www/website.com/acd/main.phpошибок не выдает?
Похоже у вас php по другому пути находится
-
29.08.2009, 05:58
#3

Junior Member

Нет, путь абсолютно верный, ошибок нет
-
29.08.2009, 06:43
#4

ISPsystem team

Попробуйте через веб запускать, как
Код:
/usr/local/bin/wget -O /dev/null http://site.ru/path/to/file.php
-
17.09.2010, 02:02
#5

Senior Member

Сообщение от ls
Похоже у вас php по другому пути находится
Извините за глупый вопрос.
Как узнать где php находиться ?
А то делаю так и выходит ошибка
[root@amd ~]# /usr/local/ispmgr/addon/vmonit/rotate.sh
I/O warning : failed to load external entity «/etc/php-fpm.conf»
Sep 16 20:13:12.400029 [ERROR] fpm_conf_init_main(), line 522: failed to load configuration file: failed to parse conf fileПоследний раз редактировалось Help; 17.09.2010 в 02:04.
-
17.09.2010, 02:33
#6

мониторинг запускает php /usr/bin/php и у вас он работает. Что-то с конфигом, с fpm я не работал.
Стоит один раз попробовать что бы влюбиться… в ISP.
На все мои сообщения, действует конфигурация сервера: ISP Pro (всегда актуальная current версия), FreeBSD 8.0, php as fcgi, nginx+apache.
Бесплатные плагины для ISPmanager.
-
17.09.2010, 16:05
#7

Senior Member

На одном сервере, как раз где ставил стоит PHP 5.3.2
из-за этого может быть ?Ща попробую поставить на пхп 5.2
-
18.09.2010, 01:56
#8

ISPsystem team

У вас PHP собран с php-fpm (5.3.2 как раз с ним вроде из коробки начинает в линуксах работать), конфиг /etc/php-fpm.conf или отсутствует или сломан, надо создать/исправить его и все будет в порядке.
-
19.01.2011, 17:18
#9

Member

Сообщение от ls
Попробуйте через веб запускать, как
Код:
/usr/local/bin/wget -O /dev/null http://site.ru/path/to/file.php
Действительно, Exited with return code = 255 не выводится более,
если использовать в Cron выше предложенную команду ‘wget’
PHP=5.3.5Спасибо!
-
20.09.2011, 23:16
#10

Member

сейчас получаю такую же ошибку как и автор.
на wget не хочу переходить, т.к. мне надо получать на e-mail Отчет который выдает мой скрипт, а так приходит только отчет wgetа что он успешно скачал файл в /dev/null.Скрипт у меня 100% рабочий, т.к. при запуске по расписанию он срабатывает и отчет приходит и все гуд. но если я пытаюсь его запустить через ispmanager вручную получаю 255 ошибку. И так 5 скриптов.
Ошибка Cron Exited with return code = 255
22.12.2016
Для интеграции Битрикс со сторонним сервисом потребовалось сделать на надежном хостинге reg.ru cron. Применял два разных крона:
/opt/php/5.3/bin/php-cgi -f /var/www/u026…./data/www/сайт.ru/bitrix/modules/viteh.dealer/tools/cron.php
/opt/php/5.5/bin/php-cgi -c /var/www/u026…./data/php-bin/php.ini -f var/www/u026…./data/www/сайт.ru/bitrix/modules/viteh.dealer/tools/cron.php
В каждом случае при попытке выполнить крон вручную выдает ошибку «Exited with return code = 255»:

Что может быть не так?
Для запуска крона в панели управления без ошибок потребовалась корректировка заданий планировщика. Рабочие кроны выглядят следующим образом:
/opt/php/5.5/bin/php -c /var/www/u026…/data/php-bin/php.ini -f /var/www/u026…/data/www/сайт.ru/bitrix/modules/viteh.dealer/tools/cron.php
/opt/php/5.5/bin/php -f /var/www/u026…./data/www/сайт.ru/bitrix/modules/viteh.dealer/tools/cron.php
Ещё статьи:
18.01.2023
Нюансы перехода битрикс на РНР 8.0
С февраля битрикс прекращает поддерживать РНР 7.4 и в битрикс сегменте сайтов начался переход на РНР 8 для получения обновлений.
Но без нюансов и ошибок…
ID: 431
10.01.2023
БУС окончательно всё?
Появилась информация от битрикс, что грубо говоря поддержка по отраслевому медицинскому решению от битрикс будет до 1 февраля 2024 года, а что потом б…
ID: 426
30.08.2022
Типовые претензии к подрядчику и к битрикс
По свежим следам я собрал типовые претензии к подрядчику и к битрикс. Мной был проведён аудит и я увидел, что техническое состояние сайта хорошее, нареканий…
ID: 338
Новые статьи в блоге:
Возврат к списку
Модераторы: Art.i, garry
cron: Exited with return code = 255
- id
- Сообщений: 9
- Зарегистрирован: Чт июл 30, 2009 10:23 pm
ls » Ср дек 23, 2009 1:02 pm
- ls
- Support team
- Сообщений: 6352
- Зарегистрирован: Чт мар 01, 2007 10:36 am
- Откуда: FirstVDS
id » Ср дек 23, 2009 2:18 pm
- id
- Сообщений: 9
- Зарегистрирован: Чт июл 30, 2009 10:23 pm
nejlok » Вт апр 06, 2010 8:35 pm
столкнулся с подобным вопросом,
ошибки возникают 1,2, 127,126..
у кого нибудь получилось настроить планировщик?
- nejlok
- Сообщений: 10
- Зарегистрирован: Вт мар 23, 2010 11:16 pm
ls » Вт апр 06, 2010 8:42 pm
- ls
- Support team
- Сообщений: 6352
- Зарегистрирован: Чт мар 01, 2007 10:36 am
- Откуда: FirstVDS
nejlok » Вт апр 06, 2010 9:03 pm
- nejlok
- Сообщений: 10
- Зарегистрирован: Вт мар 23, 2010 11:16 pm
dmitrik » Вс апр 18, 2010 2:22 pm
подскажите как правильную команду прописать в крон?
wheris php показывает
/usr/bin/php /etc/php /etc/php.ini /etc/php.d /usr/share/php /usr/share/man/man1/php.1.gz
физически файл лежит тут
/var/www/USER/data/www/SITENAME/cron.php
- dmitrik
- Сообщений: 1
- Зарегистрирован: Вс апр 18, 2010 2:12 pm
-
- Сайт
- ICQ
tont » Вс апр 18, 2010 2:41 pm
- tont
- Сообщений: 325
- Зарегистрирован: Сб фев 24, 2007 8:07 pm
- Откуда: г. Хизаши Мухосранской области
-
- Сайт
- ICQ
ls » Вс апр 18, 2010 3:47 pm
- ls
- Support team
- Сообщений: 6352
- Зарегистрирован: Чт мар 01, 2007 10:36 am
- Откуда: FirstVDS
Вернуться в Любые вопросы
Кто сейчас на форуме
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1
Добрый день, уважаемые форумчане. Подскажите, пожалуйста, начинающему администратору.
Имеется хостинг на бэгете.
При запуске скрипта /admin/cli/cron.php выдается ошибка 255.
Версия moodle 3.11+(2021051700.09)
В чем может быть проблема?
В системе зависли файлы в процессе удаления и тд. HELP!!
Никогда не было проблем с cron на Бегете, поэтому опробовал воспроизвести. Ошибка 255 возникает когда версия php указана не верно. Версия для сайта и в команде должны совпадать.
Спасибо огромное, что откликнулись!
Проверила, версия php совпадает с той, что на сайте.
Прилагаю текст ошибки.
Подскажите, пожалуйста, что я могу делать неправильно?

Гм. У вас wget https:///admin/cron.php выполняется без ошибки.
Зачем пытаться выполнять wget https:///public_html/admin/cron.php ? Это же явная ошибка!
Вам нужно определиться как вы запускаете cron.php: либо в виде обращения к сайту через cron, либо запуск скрипта через cron.
Делать и то, и другое — бесмысленно.
У вас на картинке видна возможность выполнить php-скрипт. А где видны результаты выполнения скрипта ?
В приложенном файле ошибка — недостаточно памяти (Allowed memory size of 536870912 bytes exhausted). Нужно увеличить лимит… На хостинге через htaccess — php_value memory_limit
Иногда при пересоздании конфигурационных файлов при использовании FreePBX возможно появление ошибки с кодом 255. В статье рассмотрим, как исправить эту ошибку. Что это за ошибка? Текст ошибки начинается со следующей строки: Данная ошибка возникает при применении каких-либо изменений во FreePBX. В web-интерфейсе ошибка выглядит следующим образом: Также покажем ошибку при использовании fwconsole (подробнее о fwconsole можно прочитать в […]
Иногда при пересоздании конфигурационных файлов при использовании FreePBX возможно появление ошибки с кодом 255. В статье рассмотрим, как исправить эту ошибку.
Что это за ошибка?
Текст ошибки начинается со следующей строки:
Unable to continue. Cron line added didn’t remain in crontab on final check in /var/www/html/admin/libraries/BMO/Cron.class.php on line 114
Данная ошибка возникает при применении каких-либо изменений во FreePBX. В web-интерфейсе ошибка выглядит следующим образом:

Также покажем ошибку при использовании fwconsole (подробнее о fwconsole можно прочитать в статье):

Обратите внимание, что данная ошибка имеет отношение исключительно к web-интерфейсу. Вы можете внести изменения в конфигурационные файлы Asterisk и применить их, выполнив в Asterisk CLI команду core reload.
Эта ошибка связана с тем, что при пересоздании файлов конфигурации в crontab может попасть символ, который к нему не имеет никакого отношения. Соответственно работа crontab после этого останавливается, и применить последние правки с помощью FreePBX становится невозможным.
Подробнее рассмотрим взаимосвязь FreePBX и crontab при reload.
Reload во FreePBX – это часть web-интерфейса, которая происходит при нажатии кнопки Apply Config. При этом происходит перезапись тех конфигурационных файлов, которые относятся исключительно к модулям FreePBX. Однако некоторые модули имеют записи в crontab (dashboard, sysadmin, timeconditions, backups).
Например, если в crontab закомментировать строчку
* * * * * [ -x /var/www/html/admin/modules/dashboard/scheduler.php ] && /var/www/html/admin/modules/dashboard/scheduler.php > /dev/null 2>&1
то информация в dashboard перестанет обновляться.

Также записи в crontab имеет fwconsole. Так одна из записей отвечает за синхронизацию интеграций с внешними сервисами. Пример внешних сервисов можно посмотреть во FreePBX на вкладке Directory в модуле User Management.

Если подробно рассматривать, как работает reload во FreePBX, то: при нажатии на кнопку Apply Config в ajax.php передаются модуль ($module) и команда ($command).
После Apply Config $module = framework, а $command = reload.
Далее значения framework и reload транслируются в Ajax.class.php, откуда они будут переданы в Framework.class.php. В Framework.class.php вызывается функция do_reload — functions.inc.php. В свою очередь именно эта функция вызывает retrieve_conf.
Retrieve_conf занимается пересборкой всех конфигурационных файлов, а также контролирует crontab.
Касательно нашей ошибки: все задания, указанные в crontab, были отработаны, однако не смог перезаписаться именно crontab. Это связано с тем, что FreePBX перезаписывает crontab его же стандартными средствами. Наглядно это продемонстрировать можно, если открыть crontab командой
crontab -e
Далее впишем в первую строку, например, «@» и попытаемся сохранить изменения.

Соответственно так может продолжаться до бесконечности, пока не будет нажата N, или же пока не будут убраны из crontab нечитаемые символы. Именно с таким поведением и сталкивается FreePBX, и из-за этого и появляется ошибка 255 в retrieve_conf.
Решением данной ошибки, помимо удаления из него нечитаемых символов, может служить обнуление crontab с помощью команды:
echo > /var/spool/cron/asterisk
Обратите внимание, что при обнулении crontab задание на автоматическое бэкапирование системы не добавляется.
Для того чтобы автоматическое бэкапирование системы снова работало, нужно перейти во FreePBX в модуль Backup & Restore, выбрать любой бэкап и нажать кнопку Save.
На этом статья по исправлению ошибки 255 в retrieve_conf во FreePBX завершена.
Раздел CronTab (Задания по расписанию) служит для настройки выполнения команд по расписанию или в строго назначенное время, а также для немедленного запуска скриптов. Раздел содержит 3 вкладки: Мастер заданий, Составить задание вручную и Запустить скрипт.

Сконфигурировать CronTab можно таким образом, что задача будет выполняться раз в месяц, день, час и ежеминутно или, например, каждые 10 минут. Также можно комбинировать расписания, к примеру, вам необходимо первые 2 часа выполнять задание раз в час, затем следующие 2 часа не выполнять.
Обратите внимание!
Вы можете получать уведомления о выполненном задании на электронную почту. Настроить эту опцию можно во вкладке Мастер заданий.
Мастер заданий
С помощью мастера заданий вы легко сможете настроить время выполнения скриптов и произвольных команд.
Сначала выберите тип выполняемой операции:
- Произвольная команда;
- PHP-скрипт версий 5.2-7.4;
- Запрос по протоколу HTTP
- Запрос по протоколу HTTPS
- Perl-скрипт;
- Bash-скрипт.
После указания нужного типа операции нужно указать путь к исполняемому скрипту или вписать команду вручную. Для быстрого и удобного указания путей к PHP-, Perl- и Bash-скриптам вы можете воспользоваться проводником
, расположенным рядом с кнопкой
.

Когда нужный скрипт будет выбран вы можете нажать на кнопку
и проверить работоспособность скрипта. Вам будет выведено окно с логом работы скрипта следующего вида:

В верхней части модального окна расположен статус выполнения скрипта. Если скрипт выполняется исправно, вы увидите надпись Выполнено , а если скрипт завершается с ошибкой, вы увидите цифровой код ошибки.
После проверки кода на работоспособность можно приступать к настройке временных опций исполнения скрипта. Crontab предлагает настройки для 4 временных групп: минут, часов, дней, месяцев. При нажатии на каждую группу раскрываются опции настройки, как это показано на скриншоте:

После настройки временных опций и нажатия на кнопку Добавить задание, под основным окном Cron появится запись с вашей конфигурацией. Количество таких записей не ограничено.

Задание можно включить/выключить, изменить или удалить с помощью кнопок, расположенных справа, напротив каждого из заданий:
— включить/выключить задание;
— изменить задание;
— удалить задание.
Ручная настройка CronTab
Ручная настройка CronTab позволяет настраивать время запуска скрипта в привычном виде, для тех, кто знаком с Cron.

Время, интервал
Минуты могут быть от 0 до 59
Часы могут быть от 0 до 23
День месяца может быть от 1 до 31
Месяц может быть 1 до 12
День недели может быть от 0 до 7, где 0 и 7 — воскресенье
Можно конфигурировать CronTab для выполнения задач не только в определенное время, но и ежеминутно, ежечасно, ежедневно, еженедельно или ежемесячно, используя комбинацию */x.
Примеры настройки временных интервалов
*/5 * * * * — запускать команду каждые пять минут
0 */3 * * * — запускать каждые три часа
0 12-16 * * * — запускать команду каждый час с 12 до 16 (в 12, 13, 14, 15 и 16)
0 12,16,18 * * * — запускать команду каждый час в 12, 16 и 18 часов
*/1 * * * * /usr/bin/php ~/site.ru/public_html/test.php — запуск каждую минуту php-скрипта test.php
0 */1 * * * /usr/bin/perl ~/site.ru/public_html/test.pl — запуск каждый час perl-скрипта test.pl
Команда
Необходимо задать путь до скрипта от домашнего каталога. Например: public_html/cgi-bin/script.pl
Система сама подставит символ ~/ (эта комбинация заменяет полный путь). Получится: ~/public_html/cgi-bin/script.pl
Если в конце пути поставить символ & (амперсанд), то скрипт будет работать в фоновом режиме. Установка этого символа необязательна.
Обратите внимание!
В ряде случаев требуется выбрать версию PHP отдельно: /usr/local/bin/phpX.X или /usr/local/php-cgi/X.X/bin/php-script. Если для сайта установлена иная версия PHP, следует указать вместо X.X требуемую версию, например, 5.6, или актуальную для решения текущей задачи. Версия PHP, установленная для сайта (через раздел Сайты в панели управления), не учитывается при запуске РНР скриптов через Crontab или терминал.
Директивы PHP следует указывать отдельно, после флага -d. Например: /usr/local/bin/php5.6 -d display_errors=1 script.php
Запустить скрипт
В случаях когда необходимо запустить скрипт немедленно или проверить правильность его исполнения вы можете воспользоваться формой запуска скриптов и команд, расположенной в разделе Запустить скрипт.

Работает форма аналогично строке проверки скриптов, расположенной во вкладке Мастер заданий. Под формой запуска скриптов расположена таблица со списком выполненных команд, датой и временем исполнения задания и статусами.

Напротив каждой команды в таблице есть кнопка запуска команды повторно
. Это удобно, когда вам нужно повторно выполнить какую-нибудь команду введенную ранее.