Как добавить задание в Cron на хостинг?

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО InstantCMS 2.X

/bin/bash: /content/publication: No such file or directory

#1 26 августа 2017 в 19:30
Уже очень долго не могу разобраться с планировщиком на сайте. Та информация которая есть в документации мне не совсем понятна. Но на сайте задания по расписанию запускаются только в ручном режиме. Задания по расписанию автоматически не выполняются и на почту приходит сообщение: /bin/bash: /content/publication: No such file or directory

Ответ от тп хостинга jino.ru — ссылка на инструкцию, которую я и так уже читал: www.jino.ru/help/faq/cron/
И это я тоже уже читал много раз docs.instantcms.ru/manual/settings/scheduler#планировщик и наверное мало, что понял)))

Так же хостинг сообщил следующее:

Задание по расписанию должно иметь следующий вид:
  1. phpX.X ~/папка_со_скриптом/файл_скрипта.php > /dev/null
(Здесь X.X — это версия PHP, которая вам необходима. Например, для PHP 5.6 команда будет выглядеть так: php5.6. Рекомендуется использовать ту же версию PHP, на которой работает ваш сайт. Ее можно узнать в разделе «Хостинг / Управление / Настройки веб-сервера / Настройки PHP» контрольной панели.)

Я исправил, но на почту продолжают письма приходить: /bin/bash: /content/publication: No such file or directory

Соответственно я могу сделать вывод, что совсем не понимаю как это делается)))
И вот, что я сейчас пытаюсь прояснить для себя (для большинства это элементарные проблемы скорее всего):
1) Для каждого задания на инстанте нужно создавать отдельную запись на хостинге?
2) Зачем указывается временной интервал заданий и на хостинге и в админке инстанта тоже?
3) Что такое
  1. /dev/null
и зачем оно надо? ))) Я понимаю, что в мануалах есть эта инфа, но мне она не помогла...
4) Может ли на работу планировщика повлиять фильтр cloudflare.com? А трафик на сайт идёт через этот фильтр.
5) Когда говорится о папке со скриптом, то я так понимаю речь идёт о полном пути на хостинге до файла cron.php?
#2 26 августа 2017 в 19:45
И ещё вопрос: какие права должны стоять на сам файл cron.php в корне сайта?
#3 26 августа 2017 в 20:16

1) Для каждого задания на инстанте нужно создавать отдельную запись на хостинге?

Roman
На хостинге создается только одно задание, на запуск cron.php — а дальше инстант сам запускает задания.

2) Зачем указывается временной интервал заданий и на хостинге и в админке инстанта тоже?

Roman
период на хостинге определяет частоту запуска инстантовского скрипта, а в админке инстанта вы указываете частоту для каждого задания в отдельности. Если в админке поставить 20 мин, а на хостинге 5 мин, то три раза из четырех скрипт будет запускаться вхолостую, ничего не делать.

4) Может ли на работу планировщика повлиять фильтр cloudflare.com? А трафик на сайт идёт через этот фильтр.

Roman
Не может, задание будет выполняться на сервере. Ему не важно какой у сервера IP, и через какой шлюз его видят посетители.

5) Когда говорится о папке со скриптом, то я так понимаю речь идёт о полном пути на хостинге до файла cron.php?

Roman
Да, путь от корня.
#4 26 августа 2017 в 20:25
Благодарю за ответ.
Но тп хостинга ответили, что на каждое задание нужно делать отдельную запись на хостинге.

На хостинге создается только одно задание, на запуск cron.php — а дальше инстант сам запускает задания.

@SmartControl
Но в нашем случае они ошибаются, т.к. я только что смог выполнить все задания (в админке написано, что задания выполнены в 21:05).
Сейчас проблема в том, что бы понять какая из созданных записей на хостинге рабочая — я их много создал))) Буду рыть логи на стороне хостинга…
#5 26 августа 2017 в 20:36
Сейчас у меня 5 вариантов: в двух из них я специально версию PHP не правильно указал, что бы проверить вычислить работают остальные или нет)))
#6 26 августа 2017 в 20:55

Но тп хостинга ответили, что на каждое задание нужно делать отдельную запись на хостинге.

Roman
Возможно у вас на хостинге уже несколько копий файла cron.php, вот про них и говорят.
#7 26 августа 2017 в 21:01

Как добавить задание в Cron на хостинг?

Roman
Если я не ошибаюсь, при установке двойки на предпоследнем шаге написано, как составить задание. youtu.be/Xce6ohZ2hrg — 5:54 (другого видео не нашел))
#8 26 августа 2017 в 21:56


Но тп хостинга ответили, что на каждое задание нужно делать отдельную запись на хостинге.

Roman
Возможно у вас на хостинге уже несколько копий файла cron.php, вот про них и говорят.

Loadырь

Да, сайтов несколько и я очень надеюсь, что они именно это и имели введу…
#9 26 августа 2017 в 22:36

Но тп хостинга ответили, что на каждое задание нужно делать отдельную запись на хостинге.

Roman
формально правильно они говорят.

добавленная запись на задание дергать файл cron.php это одна запись = одно задание для cronjob
а то что при запуске cron.php он этот файл выполняет множество других заданий (данных самой системе Instantcms) внутри icms это уже другой вопрос особенность системы, хостеры не могут и не должны иметь этот вариант ввиду.
#10 26 августа 2017 в 22:37


Но тп хостинга ответили, что на каждое задание нужно делать отдельную запись на хостинге.

Roman
формально правильно они говорят.

добавленная запись на задание дергать файл cron.php это одна запись = одно задание для cronjob
а то что при запуске cron.php он этот файл выполняет множество других заданий (данных самой системе Instantcms) внутри icms это уже другой вопрос особенность системы, хостеры не могут и не должны иметь этот вариант ввиду.

Нил™

Полностью согласен!
#11 26 августа 2017 в 22:41
И ещё интересный момент, в настройках стоит — удалять пользователей не прошедших верификацию через 48 часов. Запустил задание из админки в ручную — не удаляет почему-то...

А статьи по расписанию публикуются. В чём может быть проблема? То что эти 48 часов уже давно прошли?
#12 26 августа 2017 в 22:53
Судя по ответу от тп хостинга:
  1. phpX.X ~/папка_со_скриптом/файл_скрипта.php > /dev/null
я должен прописать:
  1. php5.4 ~/папка_со_скриптом/файл_скрипта.php > /dev/null
или:
  1. php5.4 -f ~/папка_со_скриптом/файл_скрипта.php > /dev/null
Что означает -f?
#13 27 августа 2017 в 12:49
Настроил с интервалом 1 минута: */1

На хостинге jino.ru работает вот эта команда для планировщика:


но нужен параметр -f или нет?
#14 28 августа 2017 в 15:10
Ответ от тп хостинга получил:

Данный ключ отвечает за выполнение скрипта не в фоновом режиме.
Если так указано в рекомендации то укажите с ключом, но особой необходимости в этом нет.
Работать будут оба варианта задания.
php5.4 /home/users/9/9176349101/domains/on-line73.ru/cron.php > /dev/null
php5.4 -f /home/users/9/9176349101/domains/on-line73.ru/cron.php > /dev/null

Вроде всё работает, тему закрываю.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.