#!/bin/bash # scripts/clean-old-logs.sh - Nettoyage automatique des vieux logs set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)" cd "$PROJECT_ROOT" LOG_DIR="./logs" RETENTION_DAYS=30 echo "[$(date '+%Y-%m-%d %H:%M:%S')] Nettoyage des logs > ${RETENTION_DAYS} jours..." # Compter les fichiers avant nettoyage BEFORE=$(find "$LOG_DIR" -type f -name "*.log" 2>/dev/null | wc -l) # Supprimer les logs plus vieux que RETENTION_DAYS jours DELETED=$(find "$LOG_DIR" -type f -name "*.log" -mtime +${RETENTION_DAYS} -delete -print 2>/dev/null | wc -l) # Compter les fichiers après nettoyage AFTER=$(find "$LOG_DIR" -type f -name "*.log" 2>/dev/null | wc -l) echo "[$(date '+%Y-%m-%d %H:%M:%S')] Fichiers supprimés: $DELETED" echo "[$(date '+%Y-%m-%d %H:%M:%S')] Fichiers restants: $AFTER" echo "[$(date '+%Y-%m-%d %H:%M:%S')] Nettoyage terminé"