Как запустить сниппет по cron? РЕШЕНО

В ispmanager запускаю php скрипт каждый час.

Команда:
php -f /var/www/u1003749/data/www/site.ru/instacron.php
Код в скрипте:
<?php
$_SESSION['mgrRole'] = 1; //чтобы корректно работал MODX API
$path = '/var/www/u1003749/data/www/site.ru/';
define('MODX_API_MODE', true);
define('MODX_BASE_PATH', '/var/www/u1003749/data/www/site.ru/');
define('MODX_SITE_URL', 'https://site.ru/');
define('MODX_BASE_URL', 'https://site.ru/');
include_once($path . 'index.php');
global $modx;
if (empty ($modx->config)) {
    $modx->getSettings();
}
$modx->runSnippet('outputinstagram*');
?>
Приходит такое уведомление на почту о выполнении скрипта:
PHP Parse error:  syntax error, unexpected '[' in /var/www/u1003749/data/www/ustimi.ru/core/components/clientconfig/model/clientconfig/clientconfig.class.php on line 90
В чем может быть проблема?
Как лучше реализовать скрипт по cron.
Денис
16 апреля 2020, 19:22
modx.pro
1 648
0

Комментарии: 5

vectorserver
16 апреля 2020, 22:33
+1
cron console
/usr/bin/php /var/www/u1003749/data/www/site.ru/instacron.php > /var/www/u1003749/data/www/site.ru/instacron_log.html && >/dev/null 2>&1
cron wget
wget http://site.ru/instacron.php --spider
instacron.php
#!/usr/bin/php
<?php
define('MODX_API_MODE', true);
require 'index.php';

$modx->getService('error','error.modError');
$modx->setLogLevel(modX::LOG_LEVEL_FATAL);
$modx->setLogTarget(XPDO_CLI_MODE ? 'ECHO' : 'HTML');
echo $modx->runSnippet('outputInstagram');
exit;
?>
    Денис
    29 апреля 2020, 14:35
    0
    сделал по вашему совету. после выполнения выдает такое сообщение:
    u1003749$ wget https://ustimi.ru/instacron.php --spider
    Spider mode enabled. Check if remote file exists.
    --2020-04-29 14:32:56--  https://ustimi.ru/instacron.php
    Resolving ustimi.ru... 37.140.192.35, 2a00:f940:2:2:1:1:0:220
    Connecting to ustimi.ru|37.140.192.35|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: unspecified [text/html]
    Remote file exists and could contain further links,
    but recursion is disabled -- not retrieving.
    Это хороший знак?
    Прошу извинить за нубские вопросы, впервые столкнулся с настройкой по cron.
    Антон Тарасов
    17 апреля 2020, 12:32
    0
    Может CronManager вам будет полезен?
      Николай
      17 апреля 2020, 14:17
      0
      Очень просто:

      require_once '/var/www/site.ru/config.core.php';
      require_once MODX_CORE_PATH.'model/modx/modx.class.php';
      $modx = new modX();
      $modx->initialize('web');
      $modx->getService('error','error.modError', '', '');
      echo $modx->runSnippet('outputInstagram');
      crontab -e

      */15 * * * * /usr/bin/php -q /var/www/site.ru/core/zones.php
      Мой каждые 15 минут выполняется.
        Maksim
        08 ноября 2020, 21:08
        0
        Добрый день! Подскажите, использую ваш способ для запуска php файла cron.php:
        <?php
        require_once '/var/www/site.com/config.core.php';
        require_once MODX_CORE_PATH.'model/modx/modx.class.php';
        $modx = new modX();
        $modx->initialize('web');
        $modx->getService('error','error.modError', '', '');
        echo $modx->runSnippet('test');
        запускаю в консоли на сервере, находясь в каталоге с файлом assets/components/parser/cron.php:
        > php cron.php
        Происходит запуск, но в консоли ошибки:
        [2020-11-08 20:56:21] (ERROR in xPDOConnection::connect @ /var/www/site.com/core/xpdo/xpdo.class.php: 3119) SQLSTATE[HY000] [2005] Unknown MySQL server host 'localhost:3310' (2)
        Если запускать тот же файл через Console в админке все проходит успешно.
        Есть подозрение, что нет подключения к БД, пробовал много вариантов, но результат один. Не сталкивались с таким?
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        5