Skip to content

Instantly share code, notes, and snippets.

@kylefelipe
Created January 20, 2023 18:41
Show Gist options
  • Save kylefelipe/4d5529e397db7d63bdf328cdd87db0b3 to your computer and use it in GitHub Desktop.
Save kylefelipe/4d5529e397db7d63bdf328cdd87db0b3 to your computer and use it in GitHub Desktop.
Script sh não salva os prints do arquivo python quando é executado pelo crontab

O agendamento do crontab está da seguinte forma

*/15 * * * * cd /root/pasta_script;  ./script.sh --cron

o script sh tem permissão para execução.....

Quando executo o arquivo .sh manualmente, o arquivo de log recebe todos os prints que o arquivo python gera, quando o script é executado pelo cron a unica coisa que ele recebe é CRON][EXEC DATE] (....)

#!/usr/bin/env bash
# Aqui vão todos os scripts python que devem ser executados a cada 5 minutos
# Verifica se é para usar o virtualenv
if [ -d ".venv" ]; then
echo "Usando virtualenv"
source .venv/bin/activate
fi
nome_script=$(basename -s .sh $0)
data_atual=$(date +"%Y-%m-%d")
log_file="./logs/"$data_atual"_"$nome_script".log"
data_hora_atual=$(date +"%Y-%m-%m %H:%M:%S")
if [ -z "$1" ]
then
echo "[EXEC DATE] $data_hora_atual" >> $log_file
else
echo "[CRON][EXEC DATE] $data_hora_atual" >> $log_file
fi
python3 script.py | tee -a $log_file
echo "" >> $log_file
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment