Get Adobe Flash player

Archive pour décembre 2009

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

Grâce à la commande « find » <répertoire> -size +<taille><unité> », dans l’exemple ci-dessous, on recherche tous les fichiers de plus de 5 Mo situés dans le répertoire courant et ses sous-répertoires :

find . -size +5M

Dans l’exemple ci-dessous, on demande la taille en Mo du répertoire courant (incluant les sous-répertoires)

du -m

Grâce à la commande « find » , dans l’exemple ci-dessous, on demande  la liste des fichiers « deb » du répertoire courant et son installation  (incluant les sous-répertoires)

find . -type f -name ‘*.deb’ -exec dpkg -i {} \;