Не выполняется Python скрипт main.py на удаленном хостинге через cron

Пытаюсь запустить скрипт main.py на удаленном хостинге. Виртуальное окружение создал, права под рута папке тоже:

-rwxrwxrwx 1 root root 1354 окт 26 08:55 database.py  
-rwxrwxrwx 1 root root 6136 окт 26 08:55 get_data.py  
-rwxrwxrwx 1 root root 3640 окт 26 08:55 main.py  
drwxr-xr-x 2 root root 4096 окт 26 09:05 __pycache__  
-rw-r--r-- 1 root root    0 окт 26 09:10 python3  
-rwxrwxrwx 1 root root  333 окт 26 08:56 settings.py  
drwxrwxrwx 6 root root 4096 окт 26 08:36 venv  

Из терминала вручную скрипт запускается по команде: source /home/geoserver/ff/venv/bin/activate ; python3 main.py и работает правильно.

Но мне нужно выполнять скрипт по расписанию. Поэтому создал строку запуска скрипта в cron при запуске ежеминутно:

*/1 * * * * root source /home/geoserver/ff/venv/bin/activate ; python3 main.py

cron запускается каждую минуту и выдает логи как этот:

CRON[4033]: (root) CMD (source /home/geoserver/ff/venv/bin/activate ; python3 main.py)

Однако по факту скрипт не запускается, данные в базу не прилетают. В чем может быть проблема, как узнать есть ли ошибки у cron и какие они?


Ответы (1 шт):

Автор решения: eri

Надо так

*/1 * * * * root /home/geoserver/ff/venv/bin/python3 main.py

Питоны, если не изменяет мне память новее 3.5 , отлично подхватывают своё окружение.

→ Ссылка