From 0ab65611b0cd95a5b140ee30c1aa76edfeb92b10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurent=20Gourv=C3=A9nec?= Date: Wed, 26 Jul 2023 17:05:42 +0200 Subject: [PATCH 1/2] =?UTF-8?q?Ajout=20scripts=20pour=20voir=20et=20r?= =?UTF-8?q?=C3=A9duire=20la=20taille=20des=20tables=20hydra?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/get_tables_sizes.sh | 25 +++++++++++++++++++ scripts/optimize_hydra | 49 +++++++++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100755 scripts/get_tables_sizes.sh create mode 100755 scripts/optimize_hydra diff --git a/scripts/get_tables_sizes.sh b/scripts/get_tables_sizes.sh new file mode 100755 index 0000000..3887e84 --- /dev/null +++ b/scripts/get_tables_sizes.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +( +mysql --defaults-file=/etc/mysql/debian.cnf hydra < Date: Mon, 4 Sep 2023 16:05:22 +0200 Subject: [PATCH 2/2] =?UTF-8?q?Ajout=20d'un=20script=20schedule=20pour=20r?= =?UTF-8?q?=C3=A9duire=20la=20taille=20de=20la=20bdd=20hydra?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Extraction des données de la veille puis suppression des données --- schedule/extra/01_extract_hydra.xml | 20 +++++++++ schedule/scripts/extract_hydra_logs | 69 +++++++++++++++++++++++++++++ 2 files changed, 89 insertions(+) create mode 100644 schedule/extra/01_extract_hydra.xml create mode 100644 schedule/scripts/extract_hydra_logs diff --git a/schedule/extra/01_extract_hydra.xml b/schedule/extra/01_extract_hydra.xml new file mode 100644 index 0000000..188e951 --- /dev/null +++ b/schedule/extra/01_extract_hydra.xml @@ -0,0 +1,20 @@ + + + + + + + daily + + + + + + + non + dbEnableBackup + none + daily + + + diff --git a/schedule/scripts/extract_hydra_logs b/schedule/scripts/extract_hydra_logs new file mode 100644 index 0000000..f5be79b --- /dev/null +++ b/schedule/scripts/extract_hydra_logs @@ -0,0 +1,69 @@ +#!/bin/bash + +DESC="Extraction des logs de connexion de la base Hydra" + +. /usr/share/eole/schedule/config.sh + +file_date=$(date '+%Y%m%d' -d@$(($(date +%s) -3600*24))) # Date pour le format des noms de fichier +today=$(date '+%Y-%m-%d') # Date de fin de requête +yesterday=$(date '+%Y-%m-%d' -d@$(($(date +%s) -3600*24))) # Date de début de requête +exit_status=0 + +echo "Begin date: $(date)" + +mysql --defaults-file=/etc/mysql/debian.cnf hydra <= '${yesterday} 00:00:00' and requested_at < '${today} 00:00:00' + order by requested_at ; +EOF +(( exit_status = exit_status || $? )) + +mysql --defaults-file=/etc/mysql/debian.cnf hydra <= '${yesterday} 00:00:00' and requested_at < '${today} 00:00:00' + order by requested_at ; +EOF +(( exit_status = exit_status || $? )) + +mysql --defaults-file=/etc/mysql/debian.cnf hydra <= '${yesterday} 00:00:00' and requested_at < '${today} 00:00:00' + order by requested_at ; +EOF +(( exit_status = exit_status || $? )) + +# Tags must be 32 char long max (otherwise, default fwd template truncates it) +logger -f /var/lib/mysql/hydra/access-${file_date} -t mariadb_hydra-access-${file_date} +logger -f /var/lib/mysql/hydra/consent-request-handled-${file_date} -t mariadb_hydra-consreq-h-${file_date} +logger -f /var/lib/mysql/hydra/authentication-request-${file_date} -t mariadb_hydra-authreq-${file_date} + +# Remove log files older than 7 days (already saved on the NAS) +find /var/lib/mysql/hydra/ -name 'access-*' -type f -mtime +7 -exec rm -vf {} \; +find /var/lib/mysql/hydra/ -name 'consent-request-handled-*' -type f -mtime +7 -exec rm -vf {} \; +find /var/lib/mysql/hydra/ -name 'authentication-request-*' -type f -mtime +7 -exec rm -vf {} \; + +find /var/log/rsyslog/local/mariadb_hydra/ -name 'access-*' -type f -mtime +7 -exec rm -vf {} \; +find /var/log/rsyslog/local/mariadb_hydra/ -name 'consreq-h-*' -type f -mtime +7 -exec rm -vf {} \; +find /var/log/rsyslog/local/mariadb_hydra/ -name 'authreq-*' -type f -mtime +7 -exec rm -vf {} \; + +echo "End date: $(date)" + +exit $exit_status