мы пытаемся настроить крон для магнитного сайта, работающего в сервере человечности
мы пробуем следующую команду:
*/5 * * * * php -f /var/www/html/sitename/cron.php
но мы получаем ошибку как указано ниже:
-bash: */5: No such file or directory
Обновление 1
Обновление 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);
}
О кроне
Заключение в кавычки Википедии здесь
Утилита 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
Вы вводите это в терминале? Это - cronjob определение, не команда. Эта строка должна войти в/etc/crontab, который также пропускает пользователь...
я думаю, что Вы копируете это с другого сайта, действительно не понимая, как он работает. Если да, прочитайте некоторую документацию о кроне...