#!/bin/bash # ==================================================================== # # P O C * Detect a database type # # -------------------------------------------------------------------- # ah: <www.axel-hahn.de> # 2024-02-xx v0.1 ah Initial version # -------------------------------------------------------------------- cd $( dirname $0 ) . vendor/ini.class.sh || exit 1 . $(dirname $0)/includes/dbdetect.class.sh DBD_DEBUG=0 USAGE="Detect profiles for databases which are located in $DBD_BASEDIR. For detected profiles it shows its used parameters. This script helps you to define / verify custom profiles. SYNTAX: $( basename $0) [OPTIONS] [FILTER] OPTIONS: -d|--debug show debug information -h|--help Show this help PARAMETERS: FILTER a string / regex to filter profilenames. SXYNTAX: $( basename $0) -d Test all profiles with debug output $( basename $0) mysql Test profiles matching 'mysql' only " # -------------------------------------------------------------------- # ---------------------------------------------------------------------- # MAIN # ---------------------------------------------------------------------- echo echo " --==##| DATABASE PROFILE DETECTOR |##==-- " echo while [[ "$#" -gt 0 ]]; do case $1 in -d|--debug) DBD_DEBUG=1;; -h|--help) echo "$USAGE"; exit 0;; *) if grep "^-" <<< "$1" >/dev/null ; then echo; echo "ERROR: Unknown parameter: $1"; echo; _showHelp; exit 2 fi break; ;; esac; done dbdetect._wd "------" for config in $(dbdetect.getConfigs | grep "${1:-.}"); do dbdetect._wd "----- $config" if dbdetect.exists $config; then echo "FOUND: $config" echo " Type : $( dbdetect.getType $config )" echo " Target dir : $( dbdetect.getProfile $config )" echo " runas : $( dbdetect.runas )" echo " Params : $( dbdetect.getParams )" echo else echo "SKIP : $config" fi dbdetect._wd done echo # --------------------------------------------------------------------