В логах следующее:
Jun 21 09:59:06 test CRON[8859]: (CRON) info (No MTA installed, discarding output)
Jun 21 10:00:01 test CRON[8971]: (root) CMD (/usr/bin/python3 /home/test/test.py)
Но сам файл не выполняется, в чем может быть причина?
AlexBoss, везде нужно использовать полные пути - по хорошему.
Относительные пути зависят от текущих переменных среды, а это штука не постоянная, темболее если забыть их задать :)
AlexBoss,
"В Cron всегда нужно использовать только полные пути?"
Нет, но когда запускается Cron процесс, то у него текущий каталог отличается от вашего текущего каталога, так, и он не выполняет .profile/.bashrc подгружая переменные типа PATH
Можете в начале скрипта выполнять команду cd в нужный каталог, либо делать это в кроне, либо использовать полные пути.
Saboteur, это понятно, что кастомные пути нужно минимизировать.
Я про абсолютные пути к тем утилитам системы, которые используются в скрипте. Они как раз могут отличаться в разных дистрибутивах, но в пределах одного будет неважно, как запускается скрипт: из крона, командой веб-сервера или просто из командной строки.
Saboteur, указав PATH в начале скрипта, будешь рассчитывать, что в нем есть пути ко всему, что ты использовал в скрипте.
Прописав эти пути к каждой использованной утилите - будешь в этом уверен ;)
Естественно, если это не простыня на 10 экранов.
указав PATH в начале скрипта, будешь рассчитывать, что в нем есть пути ко всему, что ты использовал в скрипте.
Прописав эти пути к каждой использованной утилите - будешь в этом уверен ;)
Так а какая разница, указать пути ко всему что есть в скрипте один раз в PATH, или тоже самое, но для каждой утилиты, но уже бегая по всему скрипту и дублируя текст? =)