Подскажите, складывается такая ситуация, что письма которые должны ходить по крону - не ходят (яндекс почта для домена). Проверка сайта проблем не диагностирует, и письма, например, о регистрации - приходят. (насколько я понял они отправляются по хиту)
Поддержка утверждает, что на стороне продукта все ок, в maillog.txt попадают письма все, и вероятно есть проблемы с работой cron (хотя резервные копии по крону успешно создаются, например) Но вот msmtp.log ничем не наполняется, в нет ни ошибок подключения, ни успешных подключений. В таблице b_event они со статусом F.
Вообщем, битва с 3 сентября все же выиграна) Как оказалось стоило не вручную добавлять в cron команду, а в через "управление масштабированием" в админке самого сайта включить крон.
Почта ходит. Единственный вопрос - как и где можно подредактировать периодичность запуска теперь?
Олег Дыбкин написал: Разъясните, если не трудно, * * * * * - это какая периодичность работы?.. и можно ли ее редактировать здесь?
Код
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
То есть в данном случае раз в минуту, каждый час, каждый день месяца, каждый месяц и в любой день недели ( то есть , если коротко - то выполнение раз в минуту)
Олег Дыбкин написал: Разъясните, если не трудно, * * * * * - это какая периодичность работы?.. и можно ли ее редактировать здесь?
Код
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
То есть в данном случае раз в минуту, каждый час, каждый день месяца, каждый месяц и в любой день недели ( то есть , если коротко - то выполнение раз в минуту)
Благодарю за разъяснение, поддержка говорит о том что интервал можно менять только напрямую в файле /etc/crontab, это действительно так?
Олег Дыбкин,странно. Как будто у вас агенты не работают( Последний запуск агентов должен быть в пределах 24х часов. В админке проекта можно посмотреть - /bitrix/admin/agent_list.php?lang=ru. Колонка Последний запуск. Пример на картинке.
Олег Дыбкин, вот по этому скрину видно, что с 20 числа они и не работают. Пример - те агенты, что с периодичностью 60 секунд, замерли 20 числа в 15:02. Что делали с конфигами кронтаба крона сайта?) PS: проверка сайта в данном случае все верно диагностирует)
Алексей Шафранский написал: Олег Дыбкин , вот по этому скрину видно, что с 20 числа они и не работают. Пример - те агенты, что с периодичностью 60 секунд, замерли 20 числа в 15:02. Что делали с конфигами кронтаба крона сайта?)PS: проверка сайта в данном случае все верно диагностирует)
А письма тогда как ходят?)) Ничего с кронтабом не делал, поддержка сказала что достаточно включить в веб-окружении крон...
Вот такой создает само веб-окружение 7,3,2 -
# Ansible managed # cron tasks for site kreslobum.ru #
Алексей Шафранский написал: Олег Дыбкин , вот по этому скрину видно, что с 20 числа они и не работают. Пример - те агенты, что с периодичностью 60 секунд, замерли 20 числа в 15:02. Что делали с конфигами кронтаба крона сайта?)PS: проверка сайта в данном случае все верно диагностирует)
А письма тогда как ходят?)) Ничего с кронтабом не делал, поддержка сказала что достаточно включить в веб-окружении крон...
Вот такой создает само веб-окружение 7,3,2 -
# Ansible managed # cron tasks for site kreslobum.ru #
При запуске информация о запуске крона сохранется в лог системы, Вы можете проверить был ли запуск:
Код
grep kreslobum.ru /var/log/cron
Информации о том, успешно или нет, там не будет, там будет лишь сам факт запуска.
Дальше Вы можете проверить сам запуск, в консоли:
Код
su - bitrix
test -f /home/bitrix/ext_www/kreslobum.ru/bitrix/modules/main/tools/cron_events.php && \
{ /usr/bin/php -d sendmail_path="msmtp -t -i -a kreslobum.ru" -f /home/bitrix/ext_www/kreslobum.ru/bitrix/modules/main/tools/cron_events.php; }
При этом можно разбить проверку команды на две части: -- убедиться, что файл /home/bitrix/ext_www/kreslobum.ru/bitrix/modules/main/tools/cron_events.php, есть
Код
ls -al /home/bitrix/ext_www/kreslobum.ru/bitrix/modules/main/tools/cron_events.php
-- дальше запустить просто команду:
Код
/usr/bin/php -d sendmail_path="msmtp -t -i -a kreslobum.ru" -f /home/bitrix/ext_www/kreslobum.ru/bitrix/modules/main/tools/cron_events.php
Екатерина Шемаева, Да, насколько я понимаю все корректно, логи ведутся, файл существует,
Цитата
Екатерина Шемаева написал: Кодls -f /home/bitrix/ext_www/kreslobum.ru/bitrix/modules/main/tools/cron_events.php-- дальше запустить просто команду:Код/usr/bin/php -d sendmail_path="msmtp -t -i -a kreslobum.ru" -f /home/bitrix/ext_www/kreslobum.ru/bitrix/modules/main/tools/cron_events.php
Команда проходит видимо, должно что-то вернуться в консоль после ее выполнения?
Проблема решена. Изначально пошли не по той тропинке) Статья в курсе не актуальная, если пройти по шагам - агенты на кроне сломаются и не будут работать. Материал статьи подправим.
Проблема решена. Изначально пошли не по той тропинке) Статья в курсе не актуальная, если пройти по шагам - агенты на кроне сломаются и не будут работать. Материал статьи подправим.
Алексей Мокрушин, создать сайт в машине, при создании будет запрос на включение крона - включаем. Все, агенты и почта теперь на кроне. Если бекап нужен - прописать сроку вызова в крон файле сайта /etc/cron.d/bx_<ИМЯ_MYSQL_БАЗЫ>.
Алексей Шафранский написал: Статья в курсе не актуальная, если пройти по шагам - агенты на кроне сломаются и не будут работать. Материал статьи подправим.
Вот тема настройки агентов на cron'е очень важная, но нормальной статьи, описывающей, как сделать «максимально правильно» так и нет. Все статьи, включая расположенные в официальном курсе, неактуальные, неправильные, а порой вообще вредные. Было бы здорово, если бы компетентный человек наконец-то написал технически грамотный мануал со всеми тонкостями и подробностями.
Всё это уже есть по умолчанию, при установке bitrixn-env.
Но, есть вопрос. Точно ли при такой настройке выполняются на кроне именно все агенты? В описании указано, что так выполняются только непериодические агенты.
Цитата
После этого на хитах будут выполняться только периодические агенты.
Цитата
скрипт работает из cron и приводит к выполнению только непериодических агентов.
BodyDub написал: Изначально сделал по этой инструкции.
Выше ж писали, что устарела информация. Если по уроку пройти - сломаете все) В вашем случае надо все вернуть назад, откатить все изменения, что в уроке были.
Откатывать, как оказалось не обязательно. Нужно понять что cron работает очень специфически.
Значит что в итоге:
1. Есть cron.d, а есть crontab 2. Для перезапуска cron'а не достаточно просто написать systemctl restart crond.service Надовыполнить еще командуrm /var/run/cron.reboot - таким образом "обмануть" cron чтобы он не писал " rond[29801]: (CRON) INFO (@reboot jobs will be run at computer's startup.)" - т.е. после рестарта демона он не запустит добавленные задачи (скрипты), а сделает это после рестарта сервера. Но у многих проектов нет такой возможности делать reboot только из-за cron'а 3. Задачи по "старой" инструкции будут работать, если добавить скрипт в /etc/crontab, а не в /etc/cron.d/bx_название_бд
В итоге в crontab должен оказаться */1 * * * * root -f /home/bitrix/www/bitrix/php_interface/cron_events.php https://i.imgur.com/ETA4db7.jpg (скрин)
После добавления скриптов в crontab перезапустить по инструкции выше. Мне помогло. Может кому-то другому поможет тоже. Написанная инструкция актуальна для BitrxVM.