Guest User

OMSA XMPP Notifier

a guest
Apr 28th, 2023
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.09 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. #Constants
  4. SENDXMPP_CONFIG="/home/user/.config/go-sendxmpp/sendxmpprc"
  5. RECIPIENT="[email protected]"
  6. INTERVAL=3
  7.  
  8. ALERT_TYPE=( "alertlog" "esmlog" "cmdlog" )
  9.  
  10. PREVIOUS_ALERTS=""
  11.  
  12. while true; do
  13.     for i in "${ALERT_TYPE[@]}"; do
  14.         if [[ "$i" == "alertlog" ]]; then
  15.             alert=$(/opt/dell/srvadmin/bin/omreport system alertlog | sed -n '5,9 p')
  16.         elif [[ "$i" == "esmlog" ]]; then
  17.             alert=$(/opt/dell/srvadmin/bin/omreport system esmlog | tail -4)
  18.         elif [[ "$i" == "cmdlog" ]]; then
  19.             alert=$(/opt/dell/srvadmin/bin/omreport system cmdlog | sed -n '5,8 p')
  20.         fi
  21.  
  22.         alert="*$i*"$':\n'"$alert"
  23.  
  24.         time=$(echo "$alert" | grep -oP 'Date and Time : \K(.*)')
  25.         time=$(date -d "$time" +%s)
  26.  
  27.         if [[ "$PREVIOUS_ALERTS" != *"$alert"* ]]; then
  28.             if [[ "$PREVIOUS_ALERTS" == "" ]]; then
  29.                 message="*XMPP notifier restarted; last alerts:*"$'\n'"$alert"
  30.             else
  31.                 message="$alert"
  32.             fi
  33.             echo "$message" | /home/aerick/go/bin/go-sendxmpp -f "$SENDXMPP_CONFIG" "$RECIPIENT"
  34.             echo "$message"
  35.             PREVIOUS_ALERTS="$PREVIOUS_ALERTS$alert"
  36.         fi
  37.  
  38.     done
  39.  
  40.     sleep $INTERVAL
  41.  
  42. done
Advertisement
Add Comment
Please, Sign In to add comment