Files
piperun-bot/cleanup.sh

49 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
# Script para remover diretórios com mais de 45 dias de uma pasta especificada
# Uso: ./cleanup_evaluations.sh /caminho/para/evaluations
# Verifica se o argumento foi fornecido
if [ -z "$1" ]; then
echo "Erro: Você deve fornecer o caminho da pasta."
echo "Uso: $0 /caminho/para/evaluations"
exit 1
fi
# Atribui o caminho à variável
TARGET_DIR="$1"
# Verifica se o diretório existe
if [ ! -d "$TARGET_DIR" ]; then
echo "Erro: O diretório '$TARGET_DIR' não existe."
exit 2
fi
LOG_FILE="log/cleanup_evaluations.log"
DATA_ATUAL=$(date "+%Y-%m-%d %H:%M:%S")
echo "========================================" >> "$LOG_FILE"
echo "[$DATA_ATUAL] Iniciando limpeza em: $TARGET_DIR" >> "$LOG_FILE"
# Conta quantos diretórios serão removidos (opção --dry-run para teste)
# Se quiser testar antes, descomente a linha abaixo e comente a do rm
# find "$TARGET_DIR" -type d -mtime +45 -print >> "$LOG_FILE"
# Remove diretórios com mais de 45 dias
find "$TARGET_DIR" -type d -mtime +45 -exec rm -rf {} \; >> "$LOG_FILE" 2>&1
# Remove arquivos .zip com mais de 45 dias
find "$TARGET_DIR" -type f -name "*.zip" -mtime +45 -exec rm -f {} \; >> "$LOG_FILE" 2>&1
# Verifica se o comando foi bem-sucedido
if [ $? -eq 0 ]; then
echo "[$DATA_ATUAL] Limpeza concluída com sucesso." >> "$LOG_FILE"
else
echo "[$DATA_ATUAL] ERRO: Falha durante a limpeza." >> "$LOG_FILE"
fi
echo "========================================" >> "$LOG_FILE"
# Opcional: exibe mensagem no console
echo "Limpeza concluída. Verifique o log em $LOG_FILE"