Настройки
Для запуска crontab на сервере нужно перейти на вкладку настройки и добавить задание в крон для запуска
Schedule console
Добавление крон задания в linux crontab
Войдите на сервер по ssh:
bashssh www-data@127.0.0.1
Примечание: Замените
user
иip адрес 127.0.0.1
на имя пользователя, под которым работает сайт, и IP адрес для подключения.Выполните команду от вашего пользователя:
bashcrontab -e
Примечание: Для выполнения от имени ROOT-пользователя:
bashcrontab -u www-data -e
Внимание!! Не выполняйте команду
crontab -e
под ROOT пользователем без явного указания USER, иначе после исполнения команды у сайта пропадут доступы к созданным файлам.Откроется редактор nano, при первом запуске может спросить, какой редактор использовать по умолчанию.
Добавьте строку в конец файла:
bash*/1 * * * * /usr/local/bin/php /var/www/html/core/scheduler/artisan schedule:run 2>&1
Сохраните изменения и выполните выход из файла: CTRL+x && Yes Enter
Пример как будет выглядеть crontab:
bash# modX component CronTabManager */1 * * * * /usr/local/bin/php /var/www/html/core/scheduler/artisan schedule:run 2>&1
CronTab запускается каждую минуту и выполняет команду от имени вашего пользователя www-data
.
Дополнительная информация
Узнать, под каким пользователем подключились (просто введите "id"):
id
# ---> uid=82(www-data) gid=82(www-data) groups=82(www-data)
Для переключения на пользователя из под root можно выполнить команду:
su - www-data
Используя этот метод, можно включать и выключать задания через панель администрирования. Задания автоматически будут запускаться на вашем сервере.
Schedule Work console
Для подключения через supervisor (php artisan schedule:work):
[program:crontab]
command = php /var/www/html/core/scheduler/artisan schedule:work
user = www-data
autostart = true
autorestart = true
redirect_stderr = true
stdout_logfile = /dev/stdout
Задание делает паузу в одну минуту, после окончания запуска всех команд в текущее время.