crontab python subprocess: некорректная работа

Python скрипт, запущенный через crontab, некорректно выполняется.

crontab -e

@reboot cd /<path>/ && /usr/bin/python3 main.py > log.txt 2>&1

main.py

subprocess.check_output(cmd, shell=True, env=os.environ.copy(), timeout=3200)

Программа запускается, выполняется до конца без критических ошибок, но нужный результат не выдает.

Результат сохраняется в файл: -o <path>

Все пути прописаны полностью.

Если скопировать содержимое переменной cmd в терминал и запустить, программа успешно выполнится и выдаст нужный результат.

Если запускать cd /<path>/ && /usr/bin/python3 main.py из терминала, программа успешно выполнится и выдаст нужный результат.

Запускаемая в cmd программа скомпилирована, дебаг и изменения невозможны.

Сравнивал результаты из os.environ.copy() при запуске через терминал и crontab.

Добавлял недостающие переменные в crontab и python.

При запуске через терминал, первая строка лога выполнения:

[INF] Creating temporary output file: /tmp/<random_string>

При запуске через crontab, первая строка лога выполнения:

[ERR] blank input file specified

С чем связанно такое поведение и как это исправить?


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