#!/bin/bash

ORIGEM="/home/b2jdev/public_html/Global-frontEnd/arquivos/"

PASTA1_ERR="/home/b2jdev/public_html/NUCLEASL/nuclea-domicilio-refatorado-v3.1-sftp-diagnostico/nuclea-domicilio-refatorado-v3-correcoes/storage/retornos/"

PASTA2_RETORNOS="/home/b2jdev/public_html/NUCLEASL/nuclea-domicilio-refatorado-v3.1-sftp-diagnostico/nuclea-domicilio-refatorado-v3-correcoes/storage/retornos/"

DESTINO_NORMAL="/home/b2jdev/public_html/NUCLEASL/nuclea-domicilio-refatorado-v3.1-sftp-diagnostico/nuclea-domicilio-refatorado-v3-correcoes/storage/arquivos/"

LOG="/home/b2jdev/public_html/Global-frontEnd/log_copia_arquivos.log"

# mkdir -p "$PASTA1_ERR"
# mkdir -p "$PASTA2_RETORNOS"
# mkdir -p "$DESTINO_NORMAL"

echo "===================================================" >> "$LOG"
echo "$(date '+%Y-%m-%d %H:%M:%S') - Iniciando verificação de arquivos dos últimos 7 dias" >> "$LOG"

# -mtime -7 = arquivos modificados há menos de 7 dias
find "$ORIGEM" -maxdepth 1 -type f -mtime -7 | while read -r ARQUIVO
do
    NOME_ARQUIVO="$(basename "$ARQUIVO")"
    EXTENSAO="${NOME_ARQUIVO##*.}"
    EXTENSAO_MINUSCULA="$(echo "$EXTENSAO" | tr '[:upper:]' '[:lower:]')"

    if [[ "$NOME_ARQUIVO" == *"_ERR"* ]]; then
        DESTINO="$PASTA1_ERR"
        TIPO="ERRO_NUCLEA"

    elif [[ "$EXTENSAO_MINUSCULA" == "pro" || "$EXTENSAO_MINUSCULA" == "ret" ]]; then
        DESTINO="$PASTA2_RETORNOS"
        TIPO="RETORNO_PRO_RET"

    else
        DESTINO="$DESTINO_NORMAL"
        TIPO="ARQUIVO_NORMAL"
    fi

    if [ ! -f "$DESTINO/$NOME_ARQUIVO" ]; then
        cp -p "$ARQUIVO" "$DESTINO/"

        if [ $? -eq 0 ]; then
            echo "$(date '+%Y-%m-%d %H:%M:%S') - Copiado [$TIPO]: $NOME_ARQUIVO -> $DESTINO" >> "$LOG"
        else
            echo "$(date '+%Y-%m-%d %H:%M:%S') - ERRO ao copiar [$TIPO]: $NOME_ARQUIVO -> $DESTINO" >> "$LOG"
        fi
    else
        echo "$(date '+%Y-%m-%d %H:%M:%S') - Já existe no destino [$TIPO]: $NOME_ARQUIVO -> $DESTINO" >> "$LOG"
    fi
done

echo "$(date '+%Y-%m-%d %H:%M:%S') - Verificação finalizada" >> "$LOG"