Logs Compression et Purge

De BlaxWiki
Révision datée du 9 avril 2014 à 09:15 par 217.174.199.129 (discussion)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigationAller à la recherche

3 petits scripts pour faire de la compression et de la purge de log. Voir aussi la page https://wiki.blaxeen.com/index.php/Logs

Compresssion[modifier]

#!/bin/bash
path_backup_apps='/opt/data/log/backup/technical-directory/APPS'
path_backup_acp='/opt/data/log/backup/technical-directory/ACP'
path_ed_acp_log='/opt/data/log/syslog/enterprise-directory/ACP'
path_ed_apps_log='/opt/data/log/syslog/enterprise-directory/APPS'
path_td_acp_log='/opt/data/log/syslog/technical-directory/ACP'
path_td_apps_log='/opt/data/log/syslog/technical-directory/APPS'
path_syslog="/opt/data/log/syslog"

rep_date=`date -d "1 days ago" +'%Y/%m/%d'`
file_date=`date +'%Y%m%d'`
file_date_ldap=`date -d "1 days ago" +'%Y%m%d'`


# Compression des logs enterprise-directory & technical-directory (syslog & backup)
for i in $path_backup_apps $path_backup_acp $path_ed_acp_log $path_ed_apps_log $path_td_acp_log $path_td_apps_log;
	do

		if [[ "$i" =~ ACP$ ]]
		then
			v="ACP"
		fi
		if [[ "$i" =~ APPS$ ]]
		then
			v="APPS"
		fi

		chmod 644 $i/$rep_date/messages.log
		mv $i/$rep_date/messages.log $i/$rep_date/${v}-${file_date_ldap}-messages.log
		gzip $i/$rep_date/${v}-${file_date_ldap}-messages.log

		chmod 644 $i/$rep_date/errors.log
		mv $i/$rep_date/errors.log  $i/$rep_date/${v}-${file_date_ldap}-errors.log
		gzip $i/$rep_date/${v}-${file_date_ldap}-errors.log

	done
	

# Compression des logs apache2 ldap mysql opensso pgsql tomcat

cd $path_syslog
for i in apache2 ldap mysql opensso pgsql tomcat;
	do
	for j in `find $i -name \*$file_date\*`;
		do 
			chmod 644 $j
			#tar cPzvf $j.tar.gz $j
			gzip $j
			#rm -f $j
		done	
done

cd $path_syslog
for i in ldap
        do
        for j in `find $i -name \*$file_date_ldap\*`;
                do
			chmod 644 $j
                        #tar cPzvf $j.tar.gz $j
			gzip $j
                        #rm -f $j
                done
done


exit 0

Purge[modifier]

#!/bin/bash
path_backup_apps='/opt/data/log/backup/technical-directory/APPS'
path_backup_acp='/opt/data/log/backup/technical-directory/ACP'
path_ed_acp_log='/opt/data/log/syslog/enterprise-directory/ACP'
path_ed_apps_log='/opt/data/log/syslog/enterprise-directory/APPS'
path_td_acp_log='/opt/data/log/syslog/technical-directory/ACP'
path_td_apps_log='/opt/data/log/syslog/technical-directory/APPS'
path_syslog="/opt/data/log/syslog"

# Retention de 3 mois
n=90

suppress_rep_date=`date -d  "$n days ago" +'%Y/%m/%d'`
suppress_file_date=`date -d  "$n days ago" +'%Y%m%d'`

# Suppresion des anciens repertoires de 3 mois
rm -rf "${path_backup_apps}/${suppress_rep_date}"
rm -rf "${path_backup_acp}/${suppress_rep_date}"
rm -rf "${path_ed_acp_log}/${suppress_rep_date}"
rm -rf "${path_ed_apps_log}/${suppress_rep_date}"
rm -rf "${path_td_acp_log}/${suppress_rep_date}"
rm -rf "${path_td_apps_log}/${suppress_rep_date}"

# Suppresion des fichiers comportant des dates de plus de 3 mois

cd $path_syslog
for i in apache2 ldap mysql opensso pgsql tomcat;
	do find $i -name \*$suppress_file_date\* -exec rm -f {} \; ;
	done

exit 0

Recherche et compression[modifier]

#!/bin/bash
# Script d'archivage des logs du portail de plus de 3 mois #

## On définit les sources à garder 3 mois et 1 mois)
LOGFOLDERS3MONTHS=(/opt/applis/apache-tomcat-6.0.35-1/webapps/csn/WEB-INF/data/logs \
                /opt/applis/apache-tomcat-6.0.35-1/webapps/csn/WEB-INF/data/stats \
                /opt/applis/apache-tomcat-6.0.35-1/webapps/csn/WEB-INF/data/jsynclog)

LOGFOLDERS1MONTH=(/opt/data/annuaire/archives \
                /opt/data/annuaire/erreurs)

## On déplace et compresse

for location in `echo ${LOGFOLDERS3MONTHS[*]}`
do
if [ -d $location ]
        then
                find $location -type f -ctime +90 -exec mv -t /opt/data/archives_logs_JCMS/ {} \;
                gzip /opt/data/archives_logs_JCMS/*
        fi
done

for location in `echo ${LOGFOLDERS1MONTH[*]}`
do
if [ -d $location ]
        then
                find $location -type f -ctime +90 -exec mv -t /opt/data/archives_logs_annuaire/ {} \;
                gzip /opt/data/archives_logs_annuaire/*
        fi
done