Задать вопрос
@denism300

Как запустить скрип Python из Cron?

Есть парсер, написанный на Python, пытаюсь добавить его в Cron, чтобы выполнялся по расписанию.
В задание добавил команду:
cd /home/user/parser/ && source venv/bin/activate && /home/user/parser/run.py >> /home/user/parser/run.log 2>&1

однако, скрипт не выполняется.
Таже самая команда через SSH работает.

в логах /var/log/cron
Feb 21 12:45:01 mycomp CROND[18202]: (admin) CMD (cd /home/user/parser/ && source venv/bin/activate && /home/user/parser/run.py >> /home/user/parser/run.log 2>&1)
  • Вопрос задан
  • 130 просмотров
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 4
ave_koty
@ave_koty
У меня парсер работает каждый час по такому сценарию:

1 */1 * * * cd /home/ubuntu/vk_bot/ && python3 main.py

Может быть у тебя с путями что-то не так, после активации окружения?
Ответ написан
Viji
@Viji
DevOps Engineer
попробуйте все это добавить в один скрипт myscript.sh

#! /bin/bash

set -ex
cd /home/user/parser/ 
source venv/bin/activate 
python /home/user/parser/run.py >> /home/user/parser/run.log 2>&1


а уже в cron пишите запуск bash scripta
Ответ написан
Комментировать
@AVKor
Пишите всё с полными путями либо в задание пропишите PATH
Ответ написан
Комментировать
@denism300 Автор вопроса
Проблема была в этом куске команды:
>> /home/user/parser/run.log 2>&1
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы