From 6b233cc7e5ece4f4e0f4aa3c12fe6ee5d793564b Mon Sep 17 00:00:00 2001 From: Bateast Date: Fri, 1 Nov 2024 21:23:50 +0000 Subject: [PATCH] Ajouter clean_log.sh --- clean_log.sh | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 clean_log.sh diff --git a/clean_log.sh b/clean_log.sh new file mode 100644 index 0000000..9cfe68f --- /dev/null +++ b/clean_log.sh @@ -0,0 +1,62 @@ +#!/bin/bash + +# Variables +LOG_DIR="/var/log" # Répertoire des logs +ARCHIVE_DIR="/tmp/logs_archive" # Répertoire temporaire pour stocker les archives +ARCHIVE_NAME="logs_$(date +%Y%m%d_%H%M%S).tar.gz" # Nom de l'archive basée sur la date actuelle + +REMOTE_USER="user" # Nom d'utilisateur sur le serveur distant +REMOTE_HOST="192.168.1.100" # Adresse IP ou nom de domaine du serveur distant +REMOTE_DIR="/remote/path/to/store/logs" # Répertoire distant pour stocker les archives +SSH_PORT=22 # Port SSH, par défaut 22 + +# Création du répertoire d'archive s'il n'existe pas +if [ ! -d "$ARCHIVE_DIR" ]; then + mkdir -p "$ARCHIVE_DIR" +fi + +# Archiver les logs +echo "=== Archivage des logs du répertoire $LOG_DIR ===" +tar -czf "$ARCHIVE_DIR/$ARCHIVE_NAME" -C "$LOG_DIR" . + +if [ $? -eq 0 ]; then + echo "Archivage réussi : $ARCHIVE_DIR/$ARCHIVE_NAME" +else + echo "Erreur lors de l'archivage des logs" + exit 1 +fi + +# Transférer l'archive vers le serveur distant +echo "=== Transfert de l'archive vers $REMOTE_HOST ===" +scp -P $SSH_PORT "$ARCHIVE_DIR/$ARCHIVE_NAME" "$REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR" + +if [ $? -eq 0 ]; then + echo "Transfert réussi vers $REMOTE_HOST" +else + echo "Erreur lors du transfert de l'archive vers $REMOTE_HOST" + exit 1 +fi + +# Supprimer les logs locaux après transfert +echo "=== Suppression des logs locaux ===" +find "$LOG_DIR" -type f -name "*.log" -exec truncate -s 0 {} \; + +if [ $? -eq 0 ]; then + echo "Suppression réussie des fichiers logs locaux" +else + echo "Erreur lors de la suppression des fichiers logs locaux" + exit 1 +fi + +# Nettoyage des archives locales après transfert +echo "=== Suppression des archives locales ===" +rm -f "$ARCHIVE_DIR/$ARCHIVE_NAME" + +if [ $? -eq 0 ]; then + echo "Suppression des archives locales réussie" +else + echo "Erreur lors de la suppression des archives locales" + exit 1 +fi + +echo "=== Nettoyage des logs terminé ==="