не может запустить питоновый скрипт с кронтабом и запуском приложения

У меня есть простой питоновый сценарий, который сравнивает дату файла с текущей датой и печатает что-то на экране. Я хочу выполнять этот сценарий каждый раз при входе в систему. Я пытаюсь добавить скрипт для запуска приложения в Ubuntu, которые не работали. Я пытался создать .sh файл с 'python3 code.py' и передать этот sh файл в crontab( через crontab -e команду @reboot /passto file/script.sh), но не получил желаемого вывода. Что мне делать?

0
задан 5 March 2021 в 13:19

1 ответ

Задания, выполняемые через cron, crontab, не выполняются в той же среде выполнения, что и на рабочем столе. Ни одно из ваших изменений PATH или других настроек переменных окружения не передается автоматически на ваше задание cron. Например, отсутствует $DISPLAY, поэтому программы пользовательского интерфейса нуждаются в специальной обработке (читайте man xhost).

Можно установить переменные окружения для всех заданий cron в файле crontab. Читайте man 5 crontab .

Посмотрите на результаты echo "=== set ===";set;echo "=== env ===";env | sort;echo "=== alias ===";alias в каждом из ваших окружений.

Поскольку часть команды /bin/sh строки crontab по умолчанию интерпретируется командой /bin/sh, которая имеет более простой синтаксис, чем /bin/bash, я рекомендую использовать /команду для вызова скрипта bash (исполняемого, смонтированного, начинающегося с #! /bin/bash), который устанавливает окружение, затем вызывает нужную программу.

1
ответ дан 18 March 2021 в 23:28

Другие вопросы по тегам:

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