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 : | ||
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
{{{
- !/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 }}}