В настоящее время у меня есть сценарий python, который имеет следующую структуру
read_data()
print("debugging statement 1")
# random code
plot_data(data)
print("debugging statement 2")
#random code
if __name__ == '__main__':
var = "test1"
var2 = "test2"
data_organized = read_data(var,var2)
print("debugging statement 3")
plot_data(data_organized)
.....rest of code .....
I s sh в raspberry pi, и с терминала я могу написать:
/full/path/to/env/python3 /full/path/to/script.py
и скрипт выполняет совершенно без ошибок.
Я поместил его в crontab, чтобы запускать его каждую минуту со следующим crontab
*/1 * * * * /full/path/to/env/bin/python3 /full/path/to/script/script.py >> /random/path/to/where/i/want/output/cron_log.txt 2>&1
, но код python выдает ошибку. когда я проверяю свой файл cron_log.txt, я вижу, что ошибка произошла где-то в функции read_data (), потому что я вижу, что вывод print ("отладочный оператор 3) не соответствует тому, что должен быть. Но я не вижу никакой печати операторы, которые находятся внутри функции read_data ().
вопросы:
1.) почему код работает идеально, когда я запускаю его напрямую, но когда я запускаю его с помощью crontab, он выдает ошибка?
2.) верна ли моя запись в crontab? Я хочу, чтобы она запускалась каждую минуту
3.) как я могу записать вывод функций print () в read_data () , функции plot_Data ()? в настоящее время я могу видеть только print (debugging3) в моем выходном файле.