Olá, será que comi bola em algum momento?
Olá, será que comi bola em algum momento?
Ola
O erro principal é este:
tar (child): {ARQUIVO_DIR}/logs_2025-11-05.tar.gz: Cannot open: No such file or directory
tar (child): Error is not recoverable: exiting now
E antes disso:
mv: cannot stat '../myapp/logs-processados/logs_stats_2025-11-05.txt': No such file or directory
Ou seja: o script está tentando mover e compactar arquivos que ainda não existem, ou o caminho que ele usa não foi criado antes da chamada ao tar.
O que está acontecendo
Na segunda imagem, seu script define:
ARQUIVO_DIR="../myapp/logs-processados"
TEMP_DIR="../myapp/logs-temp"
E mais embaixo, tenta:
tar -czf "${ARQUIVO_DIR}/logs_$(date +%F).tar.gz" -C "$TEMP_DIR" .
Mas o erro indica que ${ARQUIVO_DIR} não existia quando o tar foi executado — ou seja, o diretório ../myapp/logs-processados não foi criado antes da compactação.
Como corrigir
Adicione logo no início do seu script (após definir as variáveis):
mkdir -p "$ARQUIVO_DIR"
mkdir -p "$TEMP_DIR"
Parece que você já tem um mkdir -p "$TEMP_DIR" ali, mas talvez tenha movido ou apagado o mkdir -p "$ARQUIVO_DIR" — ele precisa vir antes do tar e antes de qualquer mv ou echo > "$ARQUIVO_DIR/...txt".
Outras boas práticas
Verifique se há logs antes de processar:
if [ -z "$(ls -A "$LOG_DIR")" ]; then
echo "Nenhum log encontrado em $LOG_DIR"
exit 0
fi
Use set -e no início para o script parar quando houver erro:
set -e
Teste os caminhos absolutos com:
echo "ARQUIVO_DIR=$ARQUIVO_DIR"
echo "TEMP_DIR=$TEMP_DIR"