From 174458d8c7436e82f16742c710706c9f22cfadd6 Mon Sep 17 00:00:00 2001 From: Georg Date: Tue, 31 Aug 2021 12:26:04 +0200 Subject: Adding mysql-status.sh Signed-off-by: Georg --- cron/cron.daily/mysql-status.sh | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 cron/cron.daily/mysql-status.sh diff --git a/cron/cron.daily/mysql-status.sh b/cron/cron.daily/mysql-status.sh new file mode 100644 index 0000000..67d02ce --- /dev/null +++ b/cron/cron.daily/mysql-status.sh @@ -0,0 +1,21 @@ +#!/bin/sh +OUTPUT="nc -N 127.0.0.2 2424" +maximumSecondsBehind=20 +/opt/mysql/bin/mysql -u repl-status -p'$dbmonpass' -e 'SHOW REPLICA STATUS \G' > /tmp/replicationstatus.txt + +slaveRunning="$(cat /tmp/replicationstatus.txt | grep "Replica_IO_Running: Yes" | wc -l)" +slaveSQLRunning="$(cat /tmp/replicationstatus.txt | grep "Replica_SQL_Running: Yes" | wc -l)" +secondsBehind="$(cat /tmp/replicationstatus.txt | grep "Seconds_Behind_Source" | tr -dc '0-9')" + +echo $slaveRunning | $OUTPUT +echo $slaveSQLRunning | $OUTPUT +echo $secondsBehind | $OUTPUT + +if [[ $slaveRunning != 1 || $slaveSQLRunning != 1 || $secondsBehind -gt $maximumSecondsBehind ]]; then + echo + echo "Replikacja wydaje się być popieprzona. Sending logs via email. @cranberry" | $OUTPUT + /usr/bin/mail -s "[MySQL Replication Monitor] Issue on $(hostname) at $(date)" system@lysergic.dev < /tmp/replicationstatus.txt +else + echo + echo "Replikacja wydaje się być zdrowa." | $OUTPUT +fi -- cgit v1.2.3