#!/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 <<EOF select concat ('requested_at: ', requested_at), concat ('request_id: ', request_id), concat ('client_id: ', client_id), concat ('subject: ', subject) into outfile 'access-${file_date}' character set utf8 fields terminated by '|' from hydra_oauth2_access where requested_at >= '${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 <<EOF select concat ('requested_at: ', requested_at), concat ('challenge: ', challenge), concat ('error: ', error), concat ('session_access_token: ', session_access_token), concat ('session_id_token: ', session_id_token), concat ('handled at: ', handled_at) into outfile 'consent-request-handled-${file_date}' character set utf8 fields terminated by '|' from hydra_oauth2_consent_request_handled where requested_at >= '${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 <<EOF select concat ('requested_at: ', requested_at), concat ('challenge: ', challenge), concat ('request_url: ', request_url), concat ('client_id: ', client_id), concat ('login_session_id: ', login_session_id) into outfile 'authentication-request-${file_date}' character set utf8 fields terminated by '|' from hydra_oauth2_authentication_request where requested_at >= '${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