diff --git a/utils/backup.py b/utils/backup.py
index 1e459c2f967b1548cb4dc2a31afa1f310236090a..fe0ea8112ee270c880e9ae3101666519f23e7389 100755
--- a/utils/backup.py
+++ b/utils/backup.py
@@ -19,7 +19,9 @@
 #
 # ** end header
 
-"""Remote module to create an SQL dump.
+"""A thin wrapper around the sql backup bash script.
+
+It provides a meaningful default directory and a nice help message
 """
 
 import argparse
@@ -31,16 +33,10 @@ import tempfile
 def create_dump(directory=None):
     """Create the SQL dump
 
-Parameters via `args` (a dict)
+Parameters :
 ------------------------------
 dictionary : str
     If not None, the place to write the SQL dump into.
-
-
-Returns
--------
-out : str
-    A YAML text representation of the backup process.
     """
 
     utils_path = os.path.dirname(__file__)
@@ -52,7 +48,7 @@ out : str
         directory = tempfile.mkdtemp(dir="/tmp/caosdb/tmpfiles/backup/",
                                      prefix="backup.")
     env["BACKUPDIR"] = directory
-    result = subprocess.run(command, cwd=os.path.dirname(__file__), env=env)
+    subprocess.run(command, cwd=os.path.dirname(__file__), env=env)
 
 
 def parse_args():
diff --git a/utils/log.py b/utils/log.py
index d8d6b9f3bf10662c16e8e390746a30ed2343f282..2ceef1df54b980cf24d98b0e13d697e4bdf66215 100755
--- a/utils/log.py
+++ b/utils/log.py
@@ -21,15 +21,17 @@
 # ** end header
 
 """Remote module for SQL logging
+
+Basically a wrapper with nice arguments around the bash script log.sh
 """
 
 import argparse
+import os
 import subprocess
 import sys
 
-SQL_BASE = ["mysql", "--batch",
-            "--user=caosdb", "--password=random1234",
-            "--host=sqldb", "--port=3306"]
+UTILS_PATH = os.path.abspath(os.path.dirname(__file__))
+COMMAND = [os.path.join(UTILS_PATH, "log.sh")]
 
 
 def _store_log():
@@ -40,16 +42,14 @@ def _store_log():
     out : str
       The string representing the logging information, as TSV.
     """
-    # print("store")
-    sql_command = 'select event_time, argument from mysql.general_log where command_type="Query";'
-    result = subprocess.run(SQL_BASE, input=sql_command, encoding="utf8",
+    result = subprocess.run(COMMAND+["get"], encoding="utf8",
                             stdout=subprocess.PIPE, stderr=subprocess.PIPE)
-                            # capture_output=True)  ## Only works since 3.7
+    # capture_output=True)  ## Only works since 3.7
+
     if result.returncode > 0:
         print("Error during SQL command, while retrieving SQL logs:", file=sys.stderr)
-        print(result.stderr, file=sys.stderr)
-
-    return result.stdout
+    print(result.stderr, file=sys.stderr)
+    print(result.stdout)
 
 
 def _logging(turn_on):
@@ -63,19 +63,16 @@ Parameters
 turn_on : bool
   Whether to turn logging on or off.
     """
-    on_off = "ON" if turn_on else "OFF"
-    sql_command = """
-SET GLOBAL log_output = 'TABLE';
-SET GLOBAL general_log = '{on_off}';
-""".format(on_off=on_off)
-    result = subprocess.run(SQL_BASE, input=sql_command, encoding="utf8",
+    result = subprocess.run(COMMAND+["start" if turn_on else "stop"],
+                            encoding="utf8",
                             stdout=subprocess.PIPE, stderr=subprocess.PIPE)
-                            # capture_output=True)  ## Only works since 3.7
+    # capture_output=True)  ## Only works since 3.7
+
     if result.returncode > 0:
         print("Error during SQL command, while setting SQL logging to '{on_off}':".format(
             on_off=on_off), file=sys.stderr)
-        print(result.stderr, file=sys.stderr)
-        print(result.stdout)
+    print(result.stderr, file=sys.stderr)
+    print(result.stdout)
 
     # Return nothing if no error.
 
@@ -89,18 +86,14 @@ def stop_logging(args):
 
 
 def store(args):
-    print(_store_log())
+    _store_log()
 
 
 def store_off(args):
-    print(_store_log())
+    _store_log()
     _logging(False)
 
 
-def example_error(args):
-    print(_store_log(False))
-
-
 def parse_args():
     """Parse the command line arguments."""
     parser = argparse.ArgumentParser(
@@ -134,16 +127,10 @@ To view additional information about subcommands, execute:
         help='Turns SQL logging on and off, stores logs.')
     stop_off_parser.set_defaults(func=store_off)
 
-    example_parser = subparsers.add_parser(
-        'example_error',
-        help='Turns SQL logging on and off, stores logs.')
-    example_parser.set_defaults(func=example_error)
-
     return parser.parse_args()
 
 
 if __name__ == "__main__":
     """The main function."""
     args = parse_args()
-    print(args)
     args.func(args)
diff --git a/utils/log.sh b/utils/log.sh
index 1b4cf35ef3a422f492133f1ce276ebd1dd066d21..34f84a1b5f8f1f505dcf3bd6a9a636630233f833 100755
--- a/utils/log.sh
+++ b/utils/log.sh
@@ -24,14 +24,28 @@
 
 #start and stop logging; get current logs
 
-. .config
-# load useful stuff - scans the parameters and so on...
-. patches/utils/patch_header.sh
+if [ -z "$UTILSPATH" ]; then
+	UTILSPATH="$(realpath $(dirname $0))"
+	export UTILSPATH
+	MAINPATH="$(dirname $UTILSPATH)"
+	export MAINPATH
+fi
+
+# Load settings from .config and defaults #####################################
+. $UTILSPATH/load_settings.sh
+
+# load useful functions #######################################################
+. $UTILSPATH/helpers.sh
+
+function get_logs { 
+    echo 'select event_time, argument from mysql.general_log where command_type="Query";' | \
+		$MYSQL_CMD $(get_db_args_nodb) --batch 
+}
 
 function set_logging { 
     echo "Setting logging $1..."
     echo "SET GLOBAL log_output = 'TABLE'; SET GLOBAL general_log = '$1';" | \
-        $MYSQL_CMD $MYSQL_CONNECTION --batch 
+        $MYSQL_CMD $(get_db_args_nodb) --batch 
 	success
 }