{ * info-rmatique ! }

Purger la table SystemEvents de sa base de données Syslog et archiver les log de plus de 7 jours dans un dossiers

#!/bin/bash

#declaration des parametres d’archivage
retention=7 #duree retention logs (en jours)
destdir= »/var/log/syslog » #dossier de stockage des archives
archive= »syslog-$(date ‘+%Y-%m-%d-%Hh%M’).gz #nom des archives

#declaration des parametres de database
mysql_host= »localhost » #nom ou IP sur serveur hébergeant DB
mysql_db= »Syslog » #nom DB
mysql_user= »rsyslog »
mysql_passwd= »mdp »

#lancement de l’archive
sql_arch= »SELECT * FROM SystemEvents WHERE DATEDIFF(NOW(), DeviceReportTime) > $retention »
mysql -h $mysql_host -u $mysql_user -p $mysql_passwd -e « $sql_arch » -B -s $mysql_db | gzip > $destdir/$archive

#suppression des evenements en base de donnees
sql_del= »DELETE FROM SystemEvents WHERE DATEDIFF(NOW(), DeviceReportTime) > $retention »
mysql -h $mysql_host -u $mysql_user -p $mysql_passwd -e « $sql_del » -B -s $mysql_db