Как настроить крон для вызова сценария PHP - удар: */5: Никакой такой файл или каталог для установки задания крона

мы пытаемся настроить крон для магнитного сайта, работающего в сервере человечности

мы пробуем следующую команду:

*/5 * * * * php -f /var/www/html/sitename/cron.php

но мы получаем ошибку как указано ниже:

-bash: */5: No such file or directory

Обновление 1

enter image description here

Обновление 2 - ошибка

PHP Warning:  require(app/bootstrap.php): failed to open stream: No such file or directory in /var/www/html/sitename/cron.php on line 30

PHP Fatal error:  require(): Failed opening required 'app/bootstrap.php' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/html/sitename/cron.php on line 30

cron.php

<?php


// Change current directory to the directory of current script
chdir(dirname(__FILE__));

require 'app/bootstrap.php';
require 'app/Mage.php';

if (!Mage::isInstalled()) {
    echo "Application is not installed yet, please complete install wizard first.";
    exit;
}

// Only for urls
// Don't remove this
$_SERVER['SCRIPT_NAME'] = str_replace(basename(__FILE__), 'index.php', $_SERVER['SCRIPT_NAME']);
$_SERVER['SCRIPT_FILENAME'] = str_replace(basename(__FILE__), 'index.php', $_SERVER['SCRIPT_FILENAME']);

Mage::app('admin')->setUseSessionInUrl(false);

umask(0);

$disabledFuncs = explode(',', ini_get('disable_functions'));
$isShellDisabled = is_array($disabledFuncs) ? in_array('shell_exec', $disabledFuncs) : true;
$isShellDisabled = (stripos(PHP_OS, 'win') === false) ? $isShellDisabled : true;
$isShellDisabled = true;

try {
    if (stripos(PHP_OS, 'win') === false) {
        $options = getopt('m::');
        if (isset($options['m'])) {
            if ($options['m'] == 'always') {
                $cronMode = 'always';
            } elseif ($options['m'] == 'default') {
                $cronMode = 'default';
            } else {
                Mage::throwException('Unrecognized cron mode was defined');
            }
        } else if (!$isShellDisabled) {
            $fileName = basename(__FILE__);
            $baseDir = dirname(__FILE__);
            shell_exec("/bin/sh $baseDir/cron.sh $fileName -mdefault 1 > /dev/null 2>&1 &");
            shell_exec("/bin/sh $baseDir/cron.sh $fileName -malways 1 > /dev/null 2>&1 &");
            exit;
        }
    }

    Mage::getConfig()->init()->loadEventObservers('crontab');
    Mage::app()->addEventArea('crontab');
    if ($isShellDisabled) {
        Mage::dispatchEvent('always');
        Mage::dispatchEvent('default');
    } else {
        Mage::dispatchEvent($cronMode);
    }
} catch (Exception $e) {
    Mage::printException($e);
    exit(1);
}
0
задан 8 September 2016 в 10:47

2 ответа

О кроне

Заключение в кавычки Википедии здесь

Утилита Cron программного обеспечения является основанным на времени планировщиком заданий в подобных Unix операционных системах компьютера. Люди, которые настроили и поддерживают программные среды, используют крон для планирования заданий (команды или сценарии оболочки) для выполнения периодически в фиксированные времена, даты или интервалы. Это обычно автоматизирует обслуживание системы или администрирование..

Проверьте эту ссылку на большую информацию о кроне

Представление crontab

Производить/просматривать crontab текущего пользователя

crontab -l

Для просмотра crontab другого пользователя, Вам были бы нужны sudo полномочия

sudo crontab -l -u nameOfOtherUser

Редактирование crontab

Отредактировать Ваших пользователей crontab

crontab -e

или для другого пользователя через

sudo crontab -e -u nameOfOtherUser

Как Ваш крон мог быть похожим

Возможная строка крона с помощью полного пути для php

*/5 * * * * /usr/bin/php  -q /var/www/html/sitename/cron.php

или для отладки целей, как упомянуто @Brian

*/5 * * * * /usr/bin/php  -q /var/www/html/sitename/cron.php > /var/www/html/sitename/cron-temp.log 2>&1

Это пишет названный файл журнала cron-temp.log в /var/www/html/sitename/

Относительно параметров

- q = подавляют шумы режима

Ваш todo

  • Отредактируйте свой крон и добавьте новую строку, которая определяет как часто, какой сценарий нужно назвать
  • Ожидайте до триггеров интервала и проверьте файл журнала при использовании этой опции
5
ответ дан 8 September 2016 в 20:47
  • 1
    спасибо я видел его, но я не уверен точно, с или без тихого всплеска? – Dries Mertens 24 October 2017 в 23:06

Вы вводите это в терминале? Это - cronjob определение, не команда. Эта строка должна войти в/etc/crontab, который также пропускает пользователь...

я думаю, что Вы копируете это с другого сайта, действительно не понимая, как он работает. Если да, прочитайте некоторую документацию о кроне...

1
ответ дан 8 September 2016 в 20:47

Другие вопросы по тегам:

Похожие вопросы: