Logs Compression et Purge

De BlaxWiki
Révision datée du 28 novembre 2012 à 15:30 par 217.174.199.129 (discussion) (Page créée avec « 2 petits scripts pour faire de la compression et de la purge de log === Compresssion === <pre> #!/bin/bash path_backup_apps='/opt/data/log/backup/technical-directory/APPS... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigationAller à la recherche

2 petits scripts pour faire de la compression et de la purge de log

Compresssion

#!/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

#!/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