diff --git a/bin/cron/check_error_odoo_log b/bin/cron/check_error_odoo_log index ab7a188..a176092 100755 --- a/bin/cron/check_error_odoo_log +++ b/bin/cron/check_error_odoo_log @@ -1,21 +1,30 @@ #!/bin/bash +set -euo pipefail -service_charm=$(compose status -c name,charm -r | grep odoo-tecnativa) -ODOO_SERVICE_NAME=${service_charm%% *} +today=$(date -I) -# Retirer le préfixe "0:" s'il existe -[[ "$ODOO_SERVICE_NAME" == "0:"* ]] && ODOO_SERVICE_NAME=${ODOO_SERVICE_NAME#0:} +odoo_services=$(compose status -c name,charm -r 2>&1 | grep "odoo-tecnativa" || true) -if [ -z "$ODOO_SERVICE_NAME" ]; then +if [ -z "$odoo_services" ]; then echo "Odoo service not found" exit 1 fi -ODOO_LOG="/srv/datastore/data/$ODOO_SERVICE_NAME/var/log/odoo/odoo.log" +echo "$odoo_services" | while read -r line; do -odoo_daily_errors=$(cat "$ODOO_LOG" | grep $(date -I) | grep ERROR) + service=${line%% *} + service=${service#0:} -if [ -n "$odoo_daily_errors" ]; then - send -c odoo.err -t "Odoo daily Errors" "$odoo_daily_errors" - #echo "$odoo_daily_errors" -fi + ODOO_LOG="/srv/datastore/data/$service/var/log/odoo/odoo.log" + + if [ ! -f "$ODOO_LOG" ]; then + echo "Log file not found for $service: $ODOO_LOG" + continue + fi + + odoo_daily_errors=$(grep "$today" "$ODOO_LOG" | grep ERROR || true) + + if [ -n "$odoo_daily_errors" ]; then + send -c odoo.err -t "Odoo daily Errors - $service" "$odoo_daily_errors" + fi +done