From 2e8747ee4a262185738a43cc483b2a646df94e65 Mon Sep 17 00:00:00 2001
From: Patrick Ditzel <patrick@central-computer.de>
Date: Thu, 19 Apr 2018 14:27:11 +0000
Subject: [PATCH] Started work on mongodb backupscript

---
 dbb-modules/mongodb |   44 ++++++++++++++++++++-
 dbb-modules/mariadb |    7 +--
 config/mongodb.cfg  |   12 +++--
 3 files changed, 51 insertions(+), 12 deletions(-)

diff --git a/config/mongodb.cfg b/config/mongodb.cfg
index 5e02b3c..3d8b2c3 100644
--- a/config/mongodb.cfg
+++ b/config/mongodb.cfg
@@ -1,11 +1,13 @@
 ################################################################################
-# ToDo
 
-MONGODB_BACKUP_LOCAL=FALSE
+MONGODB_BACKUP=FALSE
 
 ################################################################################
-# ToDo
 
-MONGODB_BACKUP_REMOTE=FALSE
+MONGODB_SINGLE_BACKUP=FALSE
 
-################################################################################
\ No newline at end of file
+################################################################################
+
+MONGODB_FULL_BACKUP=FALSE
+
+################################################################################
diff --git a/dbb-modules/mariadb b/dbb-modules/mariadb
index b3c58c9..2c5a4ca 100644
--- a/dbb-modules/mariadb
+++ b/dbb-modules/mariadb
@@ -2,11 +2,10 @@
 
 # MariaBD/MySQL remote
 #
-# The Information what MySQL/MariaDB - databases should be backuped are defined in ~/.my.cnf
+# The Information what MySQL/MariaDB - databases should be backuped are defined in ~/.my.cnf-dbname
 #
-# note:for MARIADB in $(ls .my.cnf-* | cut -d "-" -f2); do mysqldump --defaults-file="~/.my.cnf-$MARIADB" --skip-dump-date $MARIADB > $TMP_DIR/$(cat ~/.my.cnf-$DATABASE | grep host | cut -d "=" -f2); done
-# note: for each MySQL- or MariaDB-Database create a seperate configfile .my.cnf-dbname ind the ~ of the backupuser:
-# note: replase the suffixe -dbname with the name of the database. The seperating "-" can also be a ".".
+# note: for each MySQL- or MariaDB-Database create a seperate configfile .my.cnf-dbname in the ~ of the backupuser:
+# note: replace the suffixe -dbname with the name of the database. The seperating "-" can also be a ".".
 #	[mysqldump]
 # host=HOSTNAME
 # user=DBUSERNAME
diff --git a/dbb-modules/mongodb b/dbb-modules/mongodb
index 59ca17f..a5c7cd4 100644
--- a/dbb-modules/mongodb
+++ b/dbb-modules/mongodb
@@ -1,5 +1,43 @@
 #!/bin/bash
 
-function run_mongodb_backup {
-	echo ""
-}
\ No newline at end of file
+############################
+# CAUTION WORK IN PROGRESS #
+# Will not work yet!       #
+############################
+
+function check_mongodb_deps {
+	if [ ! -e 
+	if [ -r ~/.mongorc.js ]; then
+		debug "function check_mongodb_deps: ~/.mongorc.js exists, doing backup."
+	else
+		debug "function check_mongodb_deps: ~/mongorc.js does not exists. Aborting mongodb-backup."
+		MONGODB_BACKUP=FALSE
+	fi
+}
+
+function mongodb_single_backup {
+if [ ${M_DB_LIST} ]; then
+	echo "backup ${M_DB}"
+	for M_DB in ${M_DB_LIST} ; do
+		mongodump --port=${M_PORT} --ssl --sslCAFile=${M_SSL_CERT_FILE} --host=${M_HOST} --username=${M_USER} --authenticationDatabase=${M_AUTH_DB} --password=${M_USER_PWD} --db=${M_DB} -o ${BACKUPDIR}/"${TIMESTAMP}"_"${M_HOST}"_"${M_DB}"
+	done
+fi
+}
+
+function mongodb_full_backup {
+	mongodump --port=${M_PORT} -ssl --sslCAFile=${M_SSL_CERT_FILE} --host=${M_HOST} --username=${M_USER} --authenticationDatabase=${M_AUTH_DB} --password=${M_USER_PWD} -o ${BACKUPDIR}/"${TIMESTAMP}"_"${M_HOST}"
+}
+
+function mongodb_backup_main {
+	check_mongodb_deps
+	if [ "$MONGODB_BACKUP" = "TRUE" ]; then
+		# check and do singledatabasebackup
+		if [ "$MONGODB_SINGLE_BACKUP" = "TRUE" ]; then
+			mongodb_single_backup
+		fi
+		# check an do completedatabasebackup
+		if [ "$MONGODB_FULL_BACKUP" = "TRUE" ]; then
+			mongodb_full_backup
+		fi
+	fi
+}

--
Gitblit v1.10.0