get_mysql_stats_wrapper.sh 974 B

123456789101112131415161718192021222324252627282930313233343536
  1. #!/bin/sh
  2. ITEM=$1
  3. HOST=localhost
  4. DIR=`dirname $0`
  5. CMD="/usr/bin/php -q $DIR/ss_get_mysql_stats.php --host $HOST --items gg"
  6. CACHEFILE="/tmp/$HOST-mysql_cacti_stats.txt"
  7. if [ "$ITEM" = "running-slave" ]; then
  8. # Check for running slave
  9. RES=`mysql --defaults-extra-file=$DIR/my.cnf -e 'SHOW SLAVE STATUS\G' | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print $2}' | tr '\n' ','`
  10. if [ "$RES" = " Yes, Yes," ]; then
  11. echo 1
  12. else
  13. echo 0
  14. fi
  15. exit
  16. elif [ -e $CACHEFILE ]; then
  17. # Check and run the script
  18. TIMEFLM=`stat -c %Y $CACHEFILE`
  19. TIMENOW=`date +%s`
  20. if [ `expr $TIMENOW - $TIMEFLM` -gt 300 ]; then
  21. rm -f $CACHEFILE
  22. $CMD 2>&1 > /dev/null
  23. fi
  24. else
  25. $CMD 2>&1 > /dev/null
  26. fi
  27. # Parse cache file
  28. if [ -e $CACHEFILE ]; then
  29. cat $CACHEFILE | sed 's/ /\n/g; s/-1/0/g'| grep $ITEM | awk -F: '{print $2}'
  30. else
  31. echo "ERROR: run the command manually to investigate the problem: $CMD"
  32. fi