49 lines
1.5 KiB
Bash
Executable File
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"
|