Задать вопрос

Как перенаправить весь вывод скрипта в файл?

Здравствуйте, написал скрипт, он должен периодически выполняться, прописал его в кроне, но вот есть проблема с выводом в файл

вот crontab
* * * * *   root python /home/root/main.py >> /home/root/app.log 2>&1


вот примерный скрипт
import logging

logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
logger = logging.getLogger(__name__)

def main():
    pass

if __name__ == '__main__':
    logger.info('Run script...')
    main()


Если запускаю вручную
python /home/user/main.py >> /home/user/app.log 2>&1

то весь вывод со всеми логами оказывается в файле, а вот в когда выполняется в кроне, то файл остаётся пустым, скрипт 100% отрабатывает

UPD: если это конечно важно - всё это под докером запускается
  • Вопрос задан
  • 4620 просмотров
Подписаться 5 Простой 7 комментариев
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillbox
    Профессия Python-разработчик + ИИ
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 3
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
прописал его в кроне
* * * * * root

В /etc/crontab? Только в нём нужно указывать пользователя, в пользовательских crontab этого поля нет.

файл остаётся пустым, скрипт 100% отрабатывает

Вот прямо 100%? А что видно в /var/log/syslog?
Ответ написан
@Stqs
senior software developer
был еще такой случай в моей практике

по умолчанию крон юзает не bash а sh из-за чего можно наблюдать как одно и тоже работает в баше и не работает в кроне
происходит это потому что баш это вещь собственно юзерская а что б крон был posix совместимый он пользуется стандартным шел интерпретатором
Ответ написан
Комментировать
delvin-fil
@delvin-fil
Crazy Linux-admin
Вот непонятно, зачем без указания времени.
Четко указано:
# m h d m w user command
1 * * * * /bin/sh /path_you_script
И, разумеется, он должен иметь права на исполнение.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Краснодар
от 220 000 до 300 000 ₽
ITK academy Краснодар
от 75 000 ₽
DimaTech Ltd Краснодар
от 140 000 до 140 000 ₽