
Estou tentando executar um script python duas vezes por dia - uma vez às 8h e novamente às 20h. Minha esperança era armazenar a saída do script em um arquivo txt em meu computador chamado LOG_{data-hora}.txt para que eu pudesse ver os arquivos de "log" caso algo desse errado com o script. Eu configurei o seguinte cron job:
0 8,20 * * * python3 /script/working/directory/Script.py > /script/working/directory/logs/LOG_"$(date +"%d-%m-%Y")".txt
Depois de configurar o cron job, verifiquei o script depois das 20h e percebi que meu script ainda não havia sido executado (configurei-o para atualizar um arquivo de planilha e deixar um carimbo de data/hora após cada atualização).
Eu resolvi alguns problemas por conta própria e descobri que se eu executasse o cron job sem a parte de saída dele, ele funcionaria (também descobri que os logs do cron job são colocados no UTC em vez da hora do sistema, mas isso é um assunto para outro momento):
0 8,20 * * * python3 /script/working/directory/Script.py
Há algo que estou perdendo aqui? Isso não deveria armazenar a saída dos scripts em um arquivo? Sou um pouco novo nas coisas aqui e tenho tentado aprender à medida que faço isso, mas não tenho certeza de onde ir com isso. Seria bom poder armazenar a saída do meu script para fins de depuração.
Responder1
A principal razão pela qual posso assumir é que o caminho do log não existe ou você não tem permissão para gravar no caminho do log.
Tente executar o comando manualmente em vez do cron
python3 /script/working/directory/Script.py > /script/working/directory/logs/LOG_"$(date +"%d-%m-%Y")".txt
Você provavelmente verá o erro em seu terminal.