Advertisement
Guest User

Untitled

a guest
Aug 4th, 2016
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.72 KB | None | 0 0
  1. #!/bin/bash
  2. #
  3. # Detects mysql deadlocks and notify developers by email
  4. # Notification sent on new deadlocks only
  5. # monuser must have "PROCESS" permission in mysql server
  6. #
  7.  
  8. host=$1
  9. user=monuser
  10. pass=monpass
  11. tmp=/tmp/.${host}.output.txt
  12.  
  13. TO="dev@dom.local"
  14. FROM="noreply@dom.local"
  15. SUB="$host: Deadlock found"
  16.  
  17. [ "x$host" = "x" ] && exit
  18.  
  19. mysql -h $host -u $user --password=$pass -be 'show engine innodb status \G' \
  20. | awk '/TRANSACTIONS/{flag=0}flag;/LATEST DETECTED DEADLOCK/{flag=1}' > $tmp
  21. [ -s $tmp ] || exit
  22.  
  23. timestamp=$(head -n 2 $tmp | tail -n 1 | sed -e 's/ /_/g')
  24. if [ -s "$tmp-$timestamp" ]; then
  25. /bin/rm -f $tmp
  26. exit
  27. fi
  28.  
  29. /bin/rm -f $tmp-*
  30. cat $tmp | mail -s "${SUB}" -r "${FROM}" $TO
  31. /bin/mv $tmp "$tmp-$timestamp"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement