Не выполняется 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 , отлично подхватывают своё окружение.