Как запустить сниппет по cron? РЕШЕНО
В ispmanager запускаю php скрипт каждый час.
Команда:
Как лучше реализовать скрипт по cron.
Команда:
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.
*Meta, которой принадлежат facebook и instagram признана экстремистской в России
Комментарии: 5
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 wgetwget 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;
?>
сделал по вашему совету. после выполнения выдает такое сообщение:
Прошу извинить за нубские вопросы, впервые столкнулся с настройкой по cron.
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.
Может CronManager вам будет полезен?
Очень просто:
*/15 * * * * /usr/bin/php -q /var/www/site.ru/core/zones.php
Мой каждые 15 минут выполняется.
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 минут выполняется.
Добрый день! Подскажите, использую ваш способ для запуска 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 в админке все проходит успешно.
Есть подозрение, что нет подключения к БД, пробовал много вариантов, но результат один. Не сталкивались с таким?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.