Настройка Cron для Linux
Планировщик заданий Cron — это один из компонентов операционной системы Linux. Он используется для запуска по расписанию определенных скриптов.
Пассворк версии 5.1.0 и выше имеет специальный скрипт, который отвечает за запуск фоновых задач:
/var/www/app/tools/run-scheduled-tasks.php
Его можно выполнять в ручном режиме или настроить выполнение по планировщику Cron.
Мы рекомендуем сперва проверить работу скрипта в ручном режиме. Для этого выполните скрипт:
cd /var/www/app/tools/
php run-scheduled-tasks.php
Проверьте файл /var/www/app/logs/run-command.log на наличие ошибок
У вашего пользователя должны быть права на запись в папку logs
Настройка Cron
Настроим запуск run-scheduled-tasks.php на каждую минуту.
Откройте файл настроек Cron:
crontab -e
Добавьте следующую строку и сохраните файл:
* * * * * php /var/www/app/tools/run-scheduled-tasks.php
Проверка и исправление ошибок
Зайдите в Пассворк под администратором и откройте страницу Фоновые задачи.
При корректной конфигурации вы увидите сообщение, что планировщик настроен:

Если вы увидите сообщение, что планировщик не настроен, то ошибки выполнения можно найти в лог-файле /var/www/app/logs/run-command.log
Если вам требуется помощь в решении проблемы, вы можете отправить данный файл в техническую поддержку Пассворка.
Настройка запуска скрипта от другого пользователя
По умолчанию Cron запускает скрипты от имени пользователя root. Для повышения мер безопасности можно настроить работу от пользователя с более ограниченными правами.
Сперва зайдите в систему под необходимым пользователем user:
su - user
Выполните скрипт, чтобы убедиться, что имени user все работает корректно.
cd /var/www/app/tools/
php run-scheduled-tasks.php
Проверьте, что у user есть права на запись в:
/var/www/app/logs/
Если скрипт работает без ошибок, то настройте Cron для пользователя user
# вернутся к root
exit
crontab -u user -e
Добавьте следующую строку и сохраните файл:
* * * * * php /var/www/app/tools/run-scheduled-tasks.php
Логи Cron
Просмотреть логи Cron можно с помощью команды:
journalctl -u crond