Добрый день.
После установки версии 1.9.2.4 не отправляются письма клиентам. Проблема в cron, как его настроить.
На хостинге в crontab установлена задача
curl -s -o /dev/null сайт/public_html/cron.php>/dev/null2>&1
В прошлой версии с этой задачей все работало.
Установила Aoe_Scheduler. Вот что выдает:
No heartbeat task found. Check if cron is configured correctly.
В инструкции:
sudo crontab -u username__site_ru__0c -e
Add following configuration:
* * * * * ! test -e /home/a/username/site.ru/public_html/maintenance.flag && /bin/bash /home/a/username/site.ru/public_html/scheduler_cron.sh --mode always
* * * * * ! test -e /home/a/username/site.ru/public_html/maintenance.flag && /bin/bash /home/a/username/site.ru/public_html/scheduler_cron.sh --mode default
Читала, что sudo не очень хорошо. А если и можно, то куда это все вставлять и как настраивать cron?
Буду благодарна за любые подсказки.
То что Вы привели в примере
Add following configuration:
* * * * * ! бла-бла-бла-много-буков
* * * * * ! бла-бла-бла-много-буков
из Aoe_Scheduler это и есть команды которые должны быть написаны в кроне
@PhizikPRO wrote:То что Вы привели в примере
Add following configuration:
* * * * * ! бла-бла-бла-много-буков
* * * * * ! бла-бла-бла-много-буков
из Aoe_Scheduler это и есть команды которые должны быть написаны в кроне
Ну вот что означает "должны быть написаны в кроне". Это надо вставить в файле cron.php или на хостинге в crontab поставить задачу с этой командой?
Если у Вас на хостинге есть возможность просто написать руками команду то тупо скопировать и вставить
!!!Таким образом должно быть создано две команды!!!
* * * * * это означает что крон запускается каждую минуту, каждый час, каждый день...
все/что/дальше/это/команда/для/выполнения
И второй так же
* * * * * ! бла-бла-бла-много-буков
Кстати если используете Aoe_Scheduler стандартный файл cron.php или cron.sh (не помню точно какой там) можно удалять так как работать будет файл scheduler_cron.sh проверьте чтоб он был в корне с сайтом и у него были нужные разрешения
@PhizikPRO wrote:Если у Вас на хостинге есть возможность просто написать руками команду то тупо скопировать и вставить
!!!Таким образом должно быть создано две команды!!!
* * * * * это означает что крон запускается каждую минуту, каждый час, каждый день...
все/что/дальше/это/команда/для/выполнения
И второй так же
* * * * * ! бла-бла-бла-много-буков
Кстати если используете Aoe_Scheduler стандартный файл cron.php или cron.sh (не помню точно какой там) можно удалять так как работать будет файл scheduler_cron.sh проверьте чтоб он был в корне с сайтом и у него были нужные разрешения
Спасибо. Попробую.
В последней версии столкнулся с таким багом, что не на все хоста вот эта часть кода
shell_exec(escapeshellcmd("/bin/sh $cronPath $fileName -mdefault 1 > /dev/null 2>&1 &")); shell_exec(escapeshellcmd("/bin/sh $cronPath $fileName -malways 1 > /dev/null 2>&1 &"));
в cron.php работает корректно. Функция escapeshellcmd неправильно экранирует строку и в результате эти команды нне работают. Пришлось их переписать так:
shell_exec(escapeshellcmd("/bin/sh $cronPath $fileName -mdefault 1") . "> /dev/null 2>&1 &"); shell_exec(escapeshellcmd("/bin/sh $cronPath $fileName -malways 1") . "> /dev/null 2>&1 &");
то есть исключить из экранирования перенаправление в /dev/null и далее по тексту. То есть это даже не от Мадженто зависит а от хостинга.