Настраиваем задания cron в DataLife Engine на хостинге Jino.ru


Недавно вспомнил о старой проблеме в DataLife Engine, которую постоянно забывал решить. Проблема эта в том, что за годы своего активного развития этот движок так и не научился самостоятельно генерировать карту сайта. Функционал для этого есть, но из коробки не работает, а точнее отключен. К этой маленькой проблеме добавилась ещё и большая в виде не актуальной справки по cron на jino.ru.

Смотрим в корне дистрибутива DLE в cron.php и видим, что он умеет не только генерировать карту сайта, но и оптимизировать базу данных, делать её резервную копию, а также проверять файлы сайта антивирусом. Официальная документация.

Для начала его использования находим в файле строку:

и меняем на:

После этого обязательно переименовываем cron.php во что угодно (для примера cron12345.php) и выставляем ему права с возможностью исполнения для владельца, например «500».

Далее в панели управления хостингом идём по адресу «Управление / Задания по расписанию» и жмём на «Новое задание».

Согласно справке jino.ru в поле «Задание» нужно написать что-то типа:

но на практике это не работает, на самом деле там должно быть:

Часть с «users1/a/account» это путь на сервере, где «account» это ваш логин, а «a» первая буква логина. В некоторых случаях вместо «users1» может быть «users2».

Если вам нужны отчёты, то из запроса нужно убрать «> /dev/null».

В итоге получаем для запуска резервного копирования:

для генерации карты сайта:

для запуска антивируса:

для оптимизации базы данных

Добавляем задание, на примере ниже мы задаём генерацию карты сайта каждый день в 5:30.

Для контроля работы своих настроек поставьте галку напротив «Логировать результат выполнения задания», если всё работает как нужно, то в файле «/logs/cron.log» будут появляться строки типа:

Также не лишним будет настроить антивирус, в случае срабатывания вы получите на почту подобное уведомление

На этом всё, надеюсь, что материал был вам полезен. Если хотите сказать «Спасибо», то можете сделать это в комментариях 🙂




комментария 3

  1. Сергей:

    Доброго всем времени суток!
    Спасибо за статью!
    Несколько дней бьюсь с cron на jino. И в поддержку писали, но скрип из под cron не отрабатывает. Причём запуск строки в браузере заставляет скрипт отрабатывать почти мгновенно.
    Отформатировал строку в соотвествии с рекомендацией в статье (юзер и сайт фейковые)
    /usr/local/bin/php-cli /home/users1/s/sergey-user/domains/site.ru/index.php option com_djclassifieds&task=cronSearchNotifications > /dev/null

    Лог выводит следующее:
    … «/bin/bash: /usr/local/bin/php-cli: No such file or directory»

    Подскажите пожалуйста, куда копать?

    • VG:

      Какая версия php используется? Если 7, то попробуйте ещё варианты вроде:
      php7.0 /home/users/x/xxx/domains/site.ru/cron.php

  2. Сергей:

    В частности строка (curl -s ‘https://site.ru/index.php?option=com_djclassifieds&task=cronSearchNotifications’) в логи выводит done — «curl -s ‘https://site.ru/index.php?option=com_djclassifieds&task=cronSearchNotifications'» «done»
    Но по факту скрипт не отработал (

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *