Meus cron jobs não estão em execução ao tentar salvar a saída do script em um arquivo txt

Meus cron jobs não estão em execução ao tentar salvar a saída do script em um arquivo txt

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.

informação relacionada