#!/bin/bash ############### # DESCRIPTION: save mysql process list and view in `less` # VARIABLES: # DIR(char): save to $DIR instead of sqlprocs/ ############### set -euo pipefail if [[ -n "${DIR+x}" ]] && [[ ! "$DIR" =~ ^[A-Za-z0-9_-]$ ]]; then echo "WARNING: \$DIR contains invalid characters, using ~/sqlprocs/ instead." elif [[ -z "${DIR+x}" ]]; then DIR="sqlprocs" else DIR=${DIR/%\//} fi [[ -n "$HOSTNAME" ]] || HOSTNAME="$(hostname)" #TIMESTAMP=$(date +%Y-%m-%d--%H-%M-%S) #FILENAME="sqlprocs_${HOSTNAME}_${TIMESTAMP}.txt" FILE="sqlprocs_${HOSTNAME}_$(date +%Y-%m-%d--%H-%M-%S).txt" if [[ ! -d $DIR ]]; then echo "WARNING: \$DIR (\"$DIR\") doesn't exist. Creating it." mkdir -p $DIR 1>/dev/null fi QUERY=" SHOW STATUS WHERE \`variable_name\` LIKE 'Threads_connected'\G SHOW FULL PROCESSLIST\G" mysql -e "$QUERY" > $DIR/$FILE && less $DIR/$FILE