Différences entre les versions de « Logs Compression et Purge »

De BlaxWiki
Aller à la navigationAller à la recherche
(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... »)
 
Ligne 1 : Ligne 1 :
2 petits scripts pour faire de la compression et de la purge de log
3 petits scripts pour faire de la compression et de la purge de log


=== Compresssion ===
=== Compresssion ===
Ligne 105 : Ligne 105 :
exit 0
exit 0
</pre>
</pre>
=== Recherche et compression ===
{{{
#!/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
}}}


[[Catégorie:Script]]
[[Catégorie:Script]]

Version du 28 juin 2013 à 10:13

3 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

Recherche et compression

{{{

  1. !/bin/bash
  2. Script d'archivage des logs du portail de plus de 3 mois #
    1. 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)
    1. 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 }}}