Projet

Général

Profil

Actions

Evolution #923

ouvert

procédure #886: Documentation du Système de Surveillance et d'Auto-réparation (Monit/M/Monit)

Evolution #887: configuration redemarrage automatique du service wildfly test-carthago

Script de nettoyage WildFly

Ajouté par Patrick ENGWANG NGUEMA il y a environ 2 mois.

Statut:
Nouveau
Priorité:
Normal
Début:
28 octobre 2025
Echéance:
28 octobre 2025 (En retard de 47 jours)
% réalisé:

100%

Temps estimé:
1:00 h

Description

🧹 Script de Nettoyage Automatique WildFly

Serveur : CARTHAGO-APP-TEST

IP : 172.25.1.1

Auteur : SysCrafter

Date de mise en place : 28 Octobre 2025


🎯 Objectif

Automatiser le nettoyage et la sauvegarde des logs de WildFly afin de :

  • Conserver une copie historique horodatée avant suppression.
  • Nettoyer régulièrement les anciens fichiers de logs et temporaires.
  • Générer une métrique Prometheus (cleanup_success) pour supervision.
  • Garantir une traçabilité complète via un fichier de log local.

🧱 Emplacement et structure des fichiers

Élément Chemin
Script principal /usr/local/bin/cleanup_wildfly.sh
Fichier de log du script /var/log/cleanup_wildfly.log
Fichier métrique Prometheus /var/lib/node_exporter/textfile/cleanup.prom
Répertoire de logs WildFly /wildfly-14.0.1.Final/standalone/log/
Répertoire de sauvegarde /wildfly-14.0.1.Final/backups/logs/

⚙️ Contenu du script

#!/bin/bash
# ----------------------------------------------------
# Script de nettoyage + sauvegarde des logs WildFly
# Auteur : SysCrafter
# Serveur : 172.25.1.1 (CARTHAGO-APP-TEST)
# ----------------------------------------------------

WILDFLY_HOME="/wildfly-14.0.1.Final"
LOG_DIR="$WILDFLY_HOME/standalone/log"
BACKUP_DIR="$WILDFLY_HOME/backups/logs"
METRIC_FILE="/var/lib/node_exporter/textfile/cleanup.prom"
LOG_FILE="/var/log/cleanup_wildfly.log"
DATE_NOW=$(date '+%Y-%m-%d %H:%M:%S')
DATE_FILE=$(date '+%Y-%m-%d_%H-%M-%S')

echo "[$DATE_NOW] Démarrage du nettoyage WildFly..." >> "$LOG_FILE"

# --- 1️⃣ Créer le dossier de sauvegarde s'il n'existe pas
mkdir -p "$BACKUP_DIR"

# --- 2️⃣ Sauvegarde du fichier server.log (s’il existe)
if [ -f "$LOG_DIR/server.log" ]; then
    cp "$LOG_DIR/server.log" "$BACKUP_DIR/server_$DATE_FILE.log"
    echo "[$DATE_NOW] 📦 Sauvegarde de server.log vers $BACKUP_DIR/server_$DATE_FILE.log" >> "$LOG_FILE"
else
    echo "[$DATE_NOW] ⚠️ Aucun server.log trouvé à sauvegarder." >> "$LOG_FILE"
fi

# --- 3️⃣ Suppression des anciens logs (> 15 jours)
find "$LOG_DIR" -type f -mtime +15 -exec rm -f {} \; 2>>"$LOG_FILE"
echo "[$DATE_NOW] 🧹 Anciens logs supprimés (plus de 15 jours)." >> "$LOG_FILE"

# --- 4️⃣ Suppression des fichiers temporaires
rm -rf "$WILDFLY_HOME/standalone/tmp/"* 2>>"$LOG_FILE"
echo "[$DATE_NOW] 🧽 Répertoire tmp nettoyé." >> "$LOG_FILE"

# --- 5️⃣ Mise à jour de la métrique Prometheus
if [ $? -eq 0 ]; then
    echo "cleanup_success{server=\"172.25.1.1\"} 1" > "$METRIC_FILE"
    echo "[$DATE_NOW] ✅ Nettoyage terminé avec succès." >> "$LOG_FILE"
else
    echo "cleanup_success{server=\"172.25.1.1\"} 0" > "$METRIC_FILE"
    echo "[$DATE_NOW] ❌ Erreur pendant le nettoyage." >> "$LOG_FILE"
fi

Aucune donnée à afficher

Actions

Formats disponibles : Atom PDF