Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #
- # Detects mysql deadlocks and notify developers by email
- # Notification sent on new deadlocks only
- # monuser must have "PROCESS" permission in mysql server
- #
- host=$1
- user=monuser
- pass=monpass
- tmp=/tmp/.${host}.output.txt
- TO="dev@dom.local"
- FROM="noreply@dom.local"
- SUB="$host: Deadlock found"
- [ "x$host" = "x" ] && exit
- mysql -h $host -u $user --password=$pass -be 'show engine innodb status \G' \
- | awk '/TRANSACTIONS/{flag=0}flag;/LATEST DETECTED DEADLOCK/{flag=1}' > $tmp
- [ -s $tmp ] || exit
- timestamp=$(head -n 2 $tmp | tail -n 1 | sed -e 's/ /_/g')
- if [ -s "$tmp-$timestamp" ]; then
- /bin/rm -f $tmp
- exit
- fi
- /bin/rm -f $tmp-*
- cat $tmp | mail -s "${SUB}" -r "${FROM}" $TO
- /bin/mv $tmp "$tmp-$timestamp"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement