From bc89e1372468b4f69425485e8cf1015df2d02663 Mon Sep 17 00:00:00 2001
From: "Hahn Axel (hahn)" <axel.hahn@iml.unibe.ch>
Date: Tue, 25 May 2021 12:59:20 +0200
Subject: [PATCH] move localdumps to plugins dir

---
 localdump.sh                                  | 20 ++++++++++++++-----
 .../localdump/couchdb.sh                      |  0
 .../localdump/couchdb2.sh                     |  0
 .../localdump/ldap.sh                         |  0
 .../localdump/mysql.sh                        |  2 +-
 .../localdump/pgsql.sh                        |  0
 .../localdump/sqlite.sh                       |  0
 7 files changed, 16 insertions(+), 6 deletions(-)
 rename localdump_couchdb.sh => plugins/localdump/couchdb.sh (100%)
 rename localdump_couchdb2.sh => plugins/localdump/couchdb2.sh (100%)
 rename localdump_ldap.sh => plugins/localdump/ldap.sh (100%)
 rename localdump_mysql.sh => plugins/localdump/mysql.sh (98%)
 rename localdump_pgsql.sh => plugins/localdump/pgsql.sh (100%)
 rename localdump_sqlite.sh => plugins/localdump/sqlite.sh (100%)

diff --git a/localdump.sh b/localdump.sh
index 963b57a..a730d89 100755
--- a/localdump.sh
+++ b/localdump.sh
@@ -11,6 +11,7 @@
 # 2016-11-10  .....  v1.0
 # 2017-03-27  .....  added first param for mode backup|restore
 # 2018-02-09  .....  fix: restore-selection of target uses default on return only
+# 2021-05-18  .....  move supported backup types to plugins/localdump/[service].sh
 # ======================================================================
 
 
@@ -27,6 +28,7 @@
   fi
 
   BACKUP_BASEDIR=`_j_getvar ${DIRFILE} "dir-localdumps"`
+  BACKUP_PLUGINDIR=`dirname $0`/plugins/localdump
 
   # check
   if [ -z $BACKUP_BASEDIR ]; then
@@ -108,11 +110,19 @@
     echo $*__${BACKUP_DATE}
   }
 
+  # ------------------------------------------------------------
+  # get name of a service script
+  # param  string  name of a service 
+  function get_service_script(){
+    local _service=$1
+    ls -1 ${BACKUP_PLUGINDIR}/${_service}.sh 2>/dev/null
+  }
 
   # ------------------------------------------------------------
   # get a list of existing dumper scripts
   function get_services(){
-    ls -1 `dirname $0`/localdump_* | sed "s#`dirname $0`/localdump_##" | sed "s#\.sh##"
+    #ls -1 `dirname $0`/localdump_* | sed "s#`dirname $0`/localdump_##" | sed "s#\.sh##"
+    ls -1 ${BACKUP_PLUGINDIR}/*.sh | sed "s#${BACKUP_PLUGINDIR}/##" | sed "s#\.sh##" | sort
   }
 
   # ------------------------------------------------------------
@@ -227,7 +237,7 @@
     echo
     showhelp
     echo
-    echo services in this folder are:
+    echo "Known services (see ${BACKUP_PLUGINDIR}):"
     get_services
     exit 1
   fi
@@ -253,7 +263,7 @@
     # ----- check all params
     for SERVICENAME in $services
     do
-      BACKUP_SCRIPT=`dirname $0`/localdump_${SERVICENAME}.sh
+      BACKUP_SCRIPT=$( get_service_script ${SERVICENAME} )
       if [ ! -f $BACKUP_SCRIPT ]; then
         color error
         echo ERROR: parameter $SERVICENAME seems to be wrong.
@@ -271,7 +281,7 @@
     do
 
       BACKUP_TARGETDIR=${BACKUP_BASEDIR}/${SERVICENAME}
-      BACKUP_SCRIPT=`dirname $0`/localdump_${SERVICENAME}.sh
+      BACKUP_SCRIPT=$( get_service_script ${SERVICENAME} )
 
 
       # show_info_backup_target
@@ -297,7 +307,7 @@
   if [ "$mode" = "restore" ]; then
     SERVICENAME=$1
     BACKUP_TARGETDIR=${BACKUP_BASEDIR}/${SERVICENAME}
-    BACKUP_SCRIPT=`dirname $0`/localdump_${SERVICENAME}.sh
+    BACKUP_SCRIPT=$( get_service_script ${SERVICENAME} )
 
     h1 "RESTORE DATABASE"
     if [ -z $2 ]; then
diff --git a/localdump_couchdb.sh b/plugins/localdump/couchdb.sh
similarity index 100%
rename from localdump_couchdb.sh
rename to plugins/localdump/couchdb.sh
diff --git a/localdump_couchdb2.sh b/plugins/localdump/couchdb2.sh
similarity index 100%
rename from localdump_couchdb2.sh
rename to plugins/localdump/couchdb2.sh
diff --git a/localdump_ldap.sh b/plugins/localdump/ldap.sh
similarity index 100%
rename from localdump_ldap.sh
rename to plugins/localdump/ldap.sh
diff --git a/localdump_mysql.sh b/plugins/localdump/mysql.sh
similarity index 98%
rename from localdump_mysql.sh
rename to plugins/localdump/mysql.sh
index 6e37b77..87153e9 100755
--- a/localdump_mysql.sh
+++ b/plugins/localdump/mysql.sh
@@ -111,7 +111,7 @@ j_requireBinary "mysqldump"         1
 j_requireProcess "mysqld|mariadb"   1
 
 if [ ! -d $SOURCE_DIR ]; then
-  echo "INFO: driectory $SOURCE_DIR doees not exist."
+  echo "INFO: directory $SOURCE_DIR doees not exist."
   rc=$rc+1
 fi
 
diff --git a/localdump_pgsql.sh b/plugins/localdump/pgsql.sh
similarity index 100%
rename from localdump_pgsql.sh
rename to plugins/localdump/pgsql.sh
diff --git a/localdump_sqlite.sh b/plugins/localdump/sqlite.sh
similarity index 100%
rename from localdump_sqlite.sh
rename to plugins/localdump/sqlite.sh
-- 
GitLab