« Script : Rotation de logs sous Linux » : différence entre les versions
De www.yakakliker.org
(Page créée avec « == Script de rotation de logs == <syntaxhighlight lang="bash"> #!/bin/bash #### # CONFIGURATION #### # Repertoire contenant les logs LOG_DIR=$1 # Fichiers à prendre en compte ROTATE_FILES=$2 # Age maximum des archives (en jours) MAX_ARCHIVES_AGE=$3 # Suffixe SUFFIXE_FILENAME="_`date +%F`" ### # FONCTIONS ### ## ROTATE ## # $1 => Chemin du log function rotate() { to_log_file=$1$SUFFIXE_FILENAME.gz a=0 while -e $to_log_file ... ») |
Aucun résumé des modifications |
||
Ligne 64 : | Ligne 64 : | ||
[[Catégorie:Linux]] | [[Catégorie:Linux]] | ||
[[Catégorie:Bash]] | [[Catégorie:Bash]] | ||
<html> | |||
<a href="https://www.compteurdevisite.com" title="compteur web gratuit sans pub"><img src="https://counter6.optistats.ovh/private/compteurdevisite.php?c=b4epghealnwlf7wuq7gn3ygll9aywrfx" border="0" title="compteur web gratuit sans pub" alt="compteur web gratuit sans pub"></a> | |||
</html> | |||
<html> | |||
<script src='https://storage.ko-fi.com/cdn/scripts/overlay-widget.js'></script> | |||
<script> | |||
kofiWidgetOverlay.draw('yakakliker', { | |||
'type': 'floating-chat', | |||
'floating-chat.donateButton.text': 'Café', | |||
'floating-chat.donateButton.background-color': '#00b9fe', | |||
'floating-chat.donateButton.text-color': '#fff' | |||
}); | |||
</script> | |||
</html> |
Dernière version du 4 juin 2025 à 09:23
Script de rotation de logs
#!/bin/bash
####
# CONFIGURATION
####
# Repertoire contenant les logs
LOG_DIR=$1
# Fichiers à prendre en compte
ROTATE_FILES=$2
# Age maximum des archives (en jours)
MAX_ARCHIVES_AGE=$3
# Suffixe
SUFFIXE_FILENAME="_`date +%F`"
###
# FONCTIONS
###
## ROTATE ##
# $1 => Chemin du log
function rotate()
{
to_log_file=$1$SUFFIXE_FILENAME.gz
a=0
while [[ -e $to_log_file ]]
do
a=$(($a+1))
suffixe="-"$a
to_log_file=$1$SUFFIXE_FILENAME$suffixe.gz
done
echo "Rotation $1 => $to_log_file"
gzip -9 -c $1 > $to_log_file && > $1
}
for i in $ROTATE_FILES
do
for j in `find $LOG_DIR -name $i`
do
rotate $j
done
cd $LOG_DIR
find $LOG_DIR -name "$i*.gz" -mtime +$MAX_ARCHIVES_AGE -type f -exec echo "Suppression {}" \; -exec rm -f {} \;
done