[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 #!/bin/bash 2 # 3 ## $Id ## 4 # 5 ##### Permet de controler la taille des fichiers de logs pour prevenir un probleme de rotation ##### 6 7 # Taille max d'un fichier de log en Mo: 8 nb_max=100 9 10 # Possibilite de passer en parametre la taille en Mo a tester 11 if [ -n "$1" ]; then 12 t=$(echo "$1"|sed -e "s|[0-9]||g") 13 if [ -z "$t" ]; then 14 nb_max=$1 15 fi 16 fi 17 18 # Taille max d'un fichier de log en ko: 19 taille_max=$(($nb_max}*1024)) 20 21 tmp=/tmp/root_check_size_log_$(date +%Y%m%d%H%M%S) 22 mkdir -p -m 700 "$tmp" 23 24 MAIL_REPORT() 25 { 26 [ -e /etc/ssmtp/ssmtp.conf ] && MAIL_ADMIN=$(cat /etc/ssmtp/ssmtp.conf | grep root | cut -d= -f2) 27 if [ ! -z "$MAIL_ADMIN" ]; then 28 REPORT=$(cat $REPORT_FILE) 29 #On envoie un mail a l'admin 30 echo "$REPORT" | mail -s "[SE3] Resultat de $0" $MAIL_ADMIN 31 fi 32 } 33 34 # Liste des fichiers de log 35 find /var/log/ -type f|xargs du -sk|sort -n > $tmp/liste_fichiers_log.txt 36 37 message="Un ou des fichiers de log depassent la taille maxi definie ($nb_max Mo) 38 Il se peut que cela signifie que la rotation des fichiers de log ne fonctionne pas correctement. 39 A terme, cela peut provoquer des dysfonctionnements et lenteurs du serveur. 40 41 Il se peut egalement que la taille maxi definie soit insuffisante pour tenir compte de la quantite d'informations a loguer avant la rotation des logs. 42 Quoi qu'il en soit vous devriez prendre des mesures. 43 " 44 45 # Parcours des fichiers de log 46 #chaine="" 47 while read A 48 do 49 t=$(echo "$A"|tr "\t" " "|cut -d" " -f1) 50 if [ $t -ge $taille_max ]; then 51 #echo $A 52 f=$(echo "$A"|tr "\t" " "|sed -e "s| \{2,\}| |g"|cut -d" " -f2) 53 s=$(du -sh $f) 54 #chaine="$chaine\n$s" 55 echo $s >> $tmp/liste_fichiers_log_trop_volumineux.txt 56 fi 57 done < $tmp/liste_fichiers_log.txt 58 59 # Envoi si necessaire d'un mail 60 #if [ -n "$chaine" ]; then 61 if [ -e "$tmp/liste_fichiers_log_trop_volumineux.txt" ]; then 62 echo "$message" > $tmp/message.txt 63 cat $tmp/liste_fichiers_log_trop_volumineux.txt >> $tmp/message.txt 64 65 REPORT_FILE=$tmp/message.txt 66 MAIL_REPORT 67 fi 68 69 # Menage 70 rm -fr "$tmp"
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Tue Mar 17 22:47:18 2015 | Cross-referenced by PHPXref 0.7.1 |