#!/bin/bash #–––––––––––––––––––––––––––––––– Preamble ––––––––––––––––––––––––– if [[ "$1" == 'debug' ]]; then set -x; _DEBUG=$1; shift; fi if [[ "$1" == 'debug2' ]]; then set -xvT; _DEBUG=$1; shift; fi if [[ "$1" == 'trace' ]]; then _TRACE=$1; shift; fi ############################################################ # - Watcher-Stats - Rev. 1 # - Generate statitic views from the Watcher-Stats-DB # i.e. Create views on screen or generate CSV-Files # to work them out in spreadsheet software ############################################################ #--- Mandatory ---------- REALPATH=`realpath $0` WHERE=`dirname $REALPATH` ME=`basename $REALPATH` cd $WHERE . ../system.conf . ../watchermap.conf . ../common.conf . ../common.bashlib #--- API stuff ---------- . ../api/bash/$ME.bashlib . ../api/bash/sql-lite.bashlib #--- Private stuff ------ . ../conf/private/$ME.conf #–––––––––––––––––––––––––––––––– Preamble END –––––––––––––––––––––– PROC_START=$(date +%s%3N) _usage() { echo "Usage: $ME ... -C CSV output -X Expire Stats-DB -s kind Specific report 'kind' " exit } #____________________ Main __________________________________________ echo "««« $ME is experimental »»»" # Here we go ... SQLMODE=plain while getopts "?hCPSX:s:x" opts do case $opts in 'C') # CSV output SQLMODE=csv ;; 'P') # Work on Pool-DB DB=$POOL/Watcher-Report3.db ;; 'S') # Work on global Stats-DB DB=$MASTER_PATH/$ME.db ;; 'X') # Expire stats-DB with value EXP_DAYS=$OTARG expire_stats $EXP_DAYS exit ;; 'x') # Expire stats-DB with configured default expire_stats $EXPIRATION_DAYS exit ;; 's') # View specific statistics REPORTFACT=$OPTARG if [[ $REPORTFACT == "" ]] then REPORTFACT="_all_" fi ;; '?'|'h') _usage ;; esac done #--- Ensure DB exists ----------------------------------------------- if [ ! -e "$DB" ] then echo "Database '$DB' does not exist - bailing out ..." exit else echo "Database '$DB' exists - just fine ..." fi report_stats # Call master wrapper from library PROC_END=$(date +%s%3N) PROC_TIM=$(( PROC_END - PROC_START )) echo "« Finished $ME: Job took $PROC_TIM ms »"