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... »)
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