Voici une petite mise à jour du script de gestion de logs (rotation plus suppression)
Script pour purges permettant de faire une rotation de logs par date antérieure sur une fréquence donnée
– Nécessite la création d’un dossier archives
– Le script doit être présent en racine du répertoire défini par $DIR
Lancement du script :
/bin/bash purges.sh <fréquence 7-15>
Le script tar le contenu de traces de chaque appli et archive par date antérieur (j-1) puis efface le contenu de logs/* .
Variables à renseigner :
TAR=$DATE ».tar.gz » # archive la date
NOMARCHIVE= »archives » # archive la date
DIR= »/ »
LOGS=$DIR/ »logs »
———————————————————–
#!/bin/bash
# Ce script fait une rotation de logs et archive par dates dans une durée de fréquences définies
# KILIAN DESROCHES – kilian@desroches.net
############################################################
#paramètre
# Script ./purges.sh <frequence 7-15>
FREQ= »$1″ # Frequence
# calcule la date du jour
DATE=`TZ=MET+24 date + »%Y%m%d »`
TAR=$DATE ».tar.gz » # archive la date
NOMARCHIVE= »archives » # archive la date
DIR= »/ »
LOGS=$DIR/ »logs »
if [ -d $DIR/$NOMARCHIVE ]; then
if [ -d $DIR/$NOMARCHIVE/$DATE ]; then
écho « dossier existant »
else
écho « Création d’un répertoire date dans le répertoire archives »
mkdir $DIR/$NOMARCHIVE/$DATE
fi
# supprime les vieux répertoires archives
écho « Suppression des anciens répertoires »
ls -d $DIR/$NOMARCHIVE/2* | sort | head -lines=-$FREQ | xargs rm -rf
écho « compression en cours des traces »
tar -czf $TAR $LOGS>/dev/null
if [ -f $DIR/$TAR ]; then
écho « Copie des tars »
cp $DIR/$TAR $DIR/$NOMARCHIVE/$DATE/$TAR
rm $DIR/$TAR
rm -rf $LOGS/*.txt
fi
else
écho « Pas de dossier archive existant »
exit 1
fi