chg: [check_error_odoo_log] handle multiple services

This commit is contained in:
Boris Gallet
2026-06-15 09:38:53 +02:00
parent 5158a315ec
commit c6de9bc090

View File

@@ -1,21 +1,30 @@
#!/bin/bash #!/bin/bash
set -euo pipefail
service_charm=$(compose status -c name,charm -r | grep odoo-tecnativa) today=$(date -I)
ODOO_SERVICE_NAME=${service_charm%% *}
# Retirer le préfixe "0:" s'il existe odoo_services=$(compose status -c name,charm -r 2>&1 | grep "odoo-tecnativa" || true)
[[ "$ODOO_SERVICE_NAME" == "0:"* ]] && ODOO_SERVICE_NAME=${ODOO_SERVICE_NAME#0:}
if [ -z "$ODOO_SERVICE_NAME" ]; then if [ -z "$odoo_services" ]; then
echo "Odoo service not found" echo "Odoo service not found"
exit 1 exit 1
fi 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 ODOO_LOG="/srv/datastore/data/$service/var/log/odoo/odoo.log"
send -c odoo.err -t "Odoo daily Errors" "$odoo_daily_errors"
#echo "$odoo_daily_errors" if [ ! -f "$ODOO_LOG" ]; then
fi 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