Actualiser Script/clean_log.sh
This commit is contained in:
		
							
								
								
									
										62
									
								
								Script/clean_log.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								Script/clean_log.sh
									
									
									
									
									
										Normal file
									
								
							@ -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é ==="
 | 
			
		||||
		Reference in New Issue
	
	Block a user