#!/bin/bash # info: list mysql config parameters # options: [FORMAT] # # example: v-list-sys-mysql-config # # This function for obtaining the list of mysql config parameters. #----------------------------------------------------------# # Variables & Functions # #----------------------------------------------------------# # Argument definition format=${1-shell} # Includes # shellcheck source=/etc/hestiacp/hestia.conf source /etc/hestiacp/hestia.conf # shellcheck source=/usr/local/hestia/func/main.sh source $HESTIA/func/main.sh # load config file source_conf "$HESTIA/conf/hestia.conf" # JSON list function json_list() { str=$(echo "$config" | egrep "$keys" \ | sed -e "s/[ ]*=/=/" -e "s/=[ ]*/=\'/" -e "s/$/'/") parse_object_kv_list "$str" echo '{ "CONFIG": { "max_user_connections": "'$max_user_connections'", "max_connections": "'$max_connections'", "wait_timeout": "'$wait_timeout'", "interactive_timeout": "'$interactive_timeout'", "max_allowed_packet": "'$max_allowed_packet'", "config_path": "'$config_path'" } }' } # SHELL list function shell_list() { echo "$config" | egrep "$keys" | tr '=' ' ' echo "config_path $config_path" } # PLAIN list function plain_list() { echo "$config" | egrep "$keys" | tr '=' ' ' echo "config_path $config_path" } # CSV list function csv_list() { echo "$keys" | sed "s/|/,/g" echo "$config" | egrep "$keys" | tr '=' ' ' | awk '{print $2}' | tr '\n' ',' echo } #----------------------------------------------------------# # Action # #----------------------------------------------------------# # Defining config path config_path=$(find /etc/my* -name my.cnf) # Defining keys keys="max_user_connections|max_connections|wait_timeout|interactive_timeout" keys="${keys}|max_allowed_packet" # Reading config config=$(cat $config_path | grep -v "^;") # Listing data case $format in json) json_list ;; plain) plain_list ;; csv) csv_list ;; shell) shell_list | column -t ;; esac #----------------------------------------------------------# # Hestia # #----------------------------------------------------------# exit