From 2afb6c065d69d5b3fe00d64930b121434a48da6a Mon Sep 17 00:00:00 2001
From: Patrick Ditzel <patrick@central-computer.de>
Date: Fri, 15 Dec 2017 21:04:20 +0000
Subject: [PATCH] Moved databasefunction into database specific modules and also the configuration. Still work in progress. Installer does noct work yet

---
 dbb |   65 +++++++++++++++++++-------------
 1 files changed, 39 insertions(+), 26 deletions(-)

diff --git a/dbb b/dbb
index 105f565..e8fc54e 100755
--- a/dbb
+++ b/dbb
@@ -25,24 +25,21 @@
 	fi
 }
 
-function load_dbmodul_dfg {
-	if [ -d $BACKUPCFG.d ]; then
-		if [ ! "$(ls -A $BACKUPCFG.d)" ]; then
-			echo "Configurationdirectory for modules exist but it is empty" | /usr/bin/logger -s -i -t databasebackup
-		else
-			for MODULCFG in $(ls $BACKUPCFG.d); do . $BACKUPCFG.d/MODULCFG; done
-		fi
-	else
-		echo "Configurationdirectory does nort exists, can't load any configurationfile" | /usr/bin/logger -s -i -t databasebackup
-	fi
-}
-
 function check_backup_env {
 	# Check if the configuration exists and is not empty
 	if [ -r $BACKUPCFG ] && [ -s $BACKUPCFG ]; then
 		# If true then read it
 		. $BACKUPCFG
-		load_dbmodul_dfg
+		if [ -d $BACKUPCFG.d ]; then
+			if [ ! "$(ls -A $BACKUPCFG.d)" ]; then
+				echo "Configurationdirectory for modules exist but it is empty" | /usr/bin/logger -s -i -t databasebackup
+			else
+				echo "Read module configuration" | /usr/bin/logger -s -i -t databasebackup
+				for MODULECFG in $(ls $BACKUPCFG.d); do . $BACKUPCFG.d/$MODULECFG; done
+			fi
+		else
+			echo "Configurationdirectory does not exists, can't load any configurationfile" | /usr/bin/logger -s -i -t databasebackup
+		fi	
 	else
 		# If not throw an errormessage
 		echo "The configfile does not exists or is empty" | /usr/bin/logger -s -i -t databasebackup
@@ -51,10 +48,16 @@
 	fi
 	if [ "$ENABLE_DEBUG" = "TRUE" ]; then
 		# If debugoutput is enabled show the configurationfile without comments
-		echo "################################################################################" | /usr/bin/logger -s -i -t databasebackup
+		echo "####dd############################################################################" | /usr/bin/logger -s -i -t databasebackup
 		while read -r configline; do
 			echo "$configline" | grep -v '^$' | grep -v '^#' | /usr/bin/logger -s -i -t databasebackup
 		done <<< "$(cat $BACKUPCFG)"
+		for MODCFGLINE in $(ls $BACKUPCFG.d); do
+			echo "Debuginfo for $MODCFGLINE" | /usr/bin/logger -s -i -t databasebackup
+			while read -r modconfigline; do
+				echo "$modconfigline" | grep -v '^$' | grep -v '^#' | /usr/bin/logger -s -i -t databasebackup
+			done <<< $(cat $BACKUPCFG.d/$MODCFGLINE)
+		done
 		echo "################################################################################" | /usr/bin/logger -s -i -t databasebackup
 	fi
 	# Check if the target directory for the backupfiles exists
@@ -84,19 +87,23 @@
 function debug {
         DEBUGMSG=$1
         if [ "$ENABLE_DEBUG" = "TRUE" ]; then
-                echo "$DEBUGMSG" | $LOGGER
+                echo "<debuginformation>: $DEBUGMSG" | $LOGGER
         fi
 }
 
-function load_dbmodules {
+function load_dbbmodules {
+	# Function to load the dbb-module corresponding to the config-files found in the dbb.cfg.d-directory
+	debug "function: load_dbbmodules, VAR BACKUPCFG.d: $BACKUPCFG.d"
+	debug "function: load_dbbmodules, VAR INSTALLATION_PATH_PREFIX/lib/dbb-modules: $INSTALLATION_PATH_PREFIX/lib/modules"
 	if [ -d $BACKUPCFG.d ] && [ -d $INSTALLATION_PATH_PREFIX/lib/dbb-modules ]; then
 		if [ ! "$(ls -A $BACKUPCFG.d)" ] && [ ! "$(ls -A $INSTALLATION_PATH_PREFIX/lib/dbb-modules)" ]; then
 			debug "Configurationdirectory or directory for modules exist but it is empty"
 		else
-			for MODUL in $(ls $BACKUPCFG.d | cut -d "." -f1); do 
-				. $INSTALLATION_PATH_PREFIX/lib/dbb-modules/$MODUL
-				debug "Load module: $INSTALLATION_PATH_PREFIX/lib/dbb-modules/$MODUL"
-				check_$MODUL_deps
+			for MODULE in $(ls $BACKUPCFG.d | cut -d "." -f1); do 
+				. $INSTALLATION_PATH_PREFIX/lib/dbb-modules/$MODULE
+				debug "Load module: $INSTALLATION_PATH_PREFIX/lib/dbb-modules/$MODULE"
+				# Check the dependenncies defined in the modulefunction -> should be defined in configfiles
+				check-$MODULE-deps
 			done
 		fi
 	else
@@ -197,10 +204,12 @@
 }
 
 function check_global_deps {
-	# Check the dependencys
+	# Check the dependencies for the global part of dbb
 	if [ ! -e /usr/bin/sudo ]; then
-		echo "It seems that you dont have sudo installed. Please install sudo and restart" | /usr/bin/logger -s -i -t databasebackup
+		debug "It seems that you dont have sudo installed. Please install sudo and restart"
 		exit 1
+	else
+		debug "Global dependencies are OK."
 	fi
 }
 
@@ -208,22 +217,26 @@
 
 # The mainfunktion
 function main {
-	check_global_deps
+	# Check if the script runs interactive or not
 	is_interactive
 	if [ "$RADIOACTIVE" = "TRUE" ]; then
 		debug "Unsing dbbi (dbb interactive = dbbi) is for future use"
 	fi
 	if [ "$RADIOACTIVE" = "FALSE" ]; then
-		debug "running noninteractive"
 		# Set up the configuration for the noninteractive mode
 		set_config
 		# Configure logging (from configurationfil)e
 		set_logger
 		# Check if the backupenvironment is setup properly
 		check_backup_env
+		debug "Check global dependencies"
+		check_global_deps
+		debug "Load dbb-modules"
+		load_dbbmodules
 		# Run modul-main-functions
-		for MODULMAIN in $(ls $BACKUPCFG.d | cut -d "." -f1); do 
-			$MODULMAIN_main
+		for MODULEMAIN in $(ls $BACKUPCFG.d | cut -d "." -f1); do 
+			debug "run $MODULEMAIN-main - function of module $MODULEMAIN"
+			$MODULEMAIN-main
 		done
 			# The final action: remove the dumps
 		rm -rf "$TMP_DIR"

--
Gitblit v1.10.0