Script para excluir pastas e .zip mais antigos que 45 dias.
This commit is contained in:
48
cleanup.sh
Executable file
48
cleanup.sh
Executable file
@@ -0,0 +1,48 @@
|
||||
#!/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"
|
||||
Reference in New Issue
Block a user