From 7a7a7c08bc5604bf145c456468ace4c8dde69844 Mon Sep 17 00:00:00 2001 From: deajan Date: Thu, 26 May 2016 11:11:43 +0200 Subject: [PATCH] Fixed regression for Mac/BSD --- dev/debug_obackup.sh | 31 ++++++++++++++++++++++++++++--- dev/n_obackup.sh | 6 +++--- obackup.sh | 31 ++++++++++++++++++++++++++++--- 3 files changed, 59 insertions(+), 9 deletions(-) diff --git a/dev/debug_obackup.sh b/dev/debug_obackup.sh index d06e681..8d01031 100755 --- a/dev/debug_obackup.sh +++ b/dev/debug_obackup.sh @@ -5,7 +5,7 @@ PROGRAM="obackup" AUTHOR="(C) 2013-2016 by Orsiris de Jong" CONTACT="http://www.netpower.fr/obackup - ozy@netpower.fr" PROGRAM_VERSION=2.0-RC1 -PROGRAM_BUILD=2016041201 +PROGRAM_BUILD=2016052601 IS_STABLE=yes ## FUNC_BUILD=2016052502 @@ -93,6 +93,7 @@ function Dummy { sleep .1 } +# Sub function of Logger function _Logger { local svalue="${1}" # What to log to stdout local lvalue="${2:-$svalue}" # What to log to logfile, defaults to screen value @@ -107,6 +108,7 @@ function _Logger { fi } +# General log function with log levels function Logger { local value="${1}" # Sentence to log (in double quotes) local level="${2}" # Log level: PARANOIA_DEBUG, DEBUG, NOTICE, WARN, ERROR, CRITIAL @@ -150,6 +152,29 @@ function Logger { fi } +# QuickLogger subfunction, can be called directly +function _QuickLogger { + local value="${1}" + local destination="${2}" # Destination: stdout, log, both + + if ([ "$destination" == "log" ] || [ "$destination" == "both" ]); then + echo -e "$(date) - $value" >> "$LOG_FILE" + elif ([ "$destination" == "stdout" ] || [ "$destination" == "both" ]); then + echo -e "$value" + fi +} + +# Generic quick logging function +function QuickLogger { + local value="${1}" + + if [ "$_SILENT" -eq 1 ]; then + _QuickLogger "$value" "log" + else + _QuickLogger "$value" "stdout" + fi +} + # Portable child (and grandchild) kill function tester under Linux, BSD and MacOS X function KillChilds { local pid="${1}" @@ -1683,7 +1708,7 @@ function _CreateDirectoryLocal { if [ ! -d "$dir_to_create" ]; then # No sudo, you should have all necessary rights - mkdir --parents "$dir_to_create" > $RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID 2>&1 + mkdir -p "$dir_to_create" > $RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID 2>&1 if [ $? != 0 ]; then Logger "Cannot create directory [$dir_to_create]" "CRITICAL" if [ -f $RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID ]; then @@ -1702,7 +1727,7 @@ function _CreateDirectoryRemote { CheckConnectivity3rdPartyHosts CheckConnectivityRemoteHost - cmd=$SSH_CMD' "if ! [ -d \"'$dir_to_create'\" ]; then '$COMMAND_SUDO' mkdir --parents \"'$dir_to_create'\"; fi" > '$RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID' 2>&1' + cmd=$SSH_CMD' "if ! [ -d \"'$dir_to_create'\" ]; then '$COMMAND_SUDO' mkdir -p \"'$dir_to_create'\"; fi" > '$RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID' 2>&1' Logger "cmd: $cmd" "DEBUG" eval "$cmd" & WaitForTaskCompletion $! 720 1800 ${FUNCNAME[0]} diff --git a/dev/n_obackup.sh b/dev/n_obackup.sh index 75145bf..a7ea2a3 100755 --- a/dev/n_obackup.sh +++ b/dev/n_obackup.sh @@ -5,7 +5,7 @@ PROGRAM="obackup" AUTHOR="(C) 2013-2016 by Orsiris de Jong" CONTACT="http://www.netpower.fr/obackup - ozy@netpower.fr" PROGRAM_VERSION=2.0-RC1 -PROGRAM_BUILD=2016041201 +PROGRAM_BUILD=2016052601 IS_STABLE=yes source "./ofunctions.sh" @@ -490,7 +490,7 @@ function _CreateDirectoryLocal { if [ ! -d "$dir_to_create" ]; then # No sudo, you should have all necessary rights - mkdir --parents "$dir_to_create" > $RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID 2>&1 + mkdir -p "$dir_to_create" > $RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID 2>&1 if [ $? != 0 ]; then Logger "Cannot create directory [$dir_to_create]" "CRITICAL" if [ -f $RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID ]; then @@ -509,7 +509,7 @@ function _CreateDirectoryRemote { CheckConnectivity3rdPartyHosts CheckConnectivityRemoteHost - cmd=$SSH_CMD' "if ! [ -d \"'$dir_to_create'\" ]; then '$COMMAND_SUDO' mkdir --parents \"'$dir_to_create'\"; fi" > '$RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID' 2>&1' + cmd=$SSH_CMD' "if ! [ -d \"'$dir_to_create'\" ]; then '$COMMAND_SUDO' mkdir -p \"'$dir_to_create'\"; fi" > '$RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID' 2>&1' Logger "cmd: $cmd" "DEBUG" eval "$cmd" & WaitForTaskCompletion $! 720 1800 ${FUNCNAME[0]} diff --git a/obackup.sh b/obackup.sh index 358203a..0c726e8 100755 --- a/obackup.sh +++ b/obackup.sh @@ -5,7 +5,7 @@ PROGRAM="obackup" AUTHOR="(C) 2013-2016 by Orsiris de Jong" CONTACT="http://www.netpower.fr/obackup - ozy@netpower.fr" PROGRAM_VERSION=2.0-RC1 -PROGRAM_BUILD=2016041201 +PROGRAM_BUILD=2016052601 IS_STABLE=yes ## FUNC_BUILD=2016052502 @@ -88,6 +88,7 @@ function Dummy { sleep .1 } +# Sub function of Logger function _Logger { local svalue="${1}" # What to log to stdout local lvalue="${2:-$svalue}" # What to log to logfile, defaults to screen value @@ -102,6 +103,7 @@ function _Logger { fi } +# General log function with log levels function Logger { local value="${1}" # Sentence to log (in double quotes) local level="${2}" # Log level: PARANOIA_DEBUG, DEBUG, NOTICE, WARN, ERROR, CRITIAL @@ -140,6 +142,29 @@ function Logger { fi } +# QuickLogger subfunction, can be called directly +function _QuickLogger { + local value="${1}" + local destination="${2}" # Destination: stdout, log, both + + if ([ "$destination" == "log" ] || [ "$destination" == "both" ]); then + echo -e "$(date) - $value" >> "$LOG_FILE" + elif ([ "$destination" == "stdout" ] || [ "$destination" == "both" ]); then + echo -e "$value" + fi +} + +# Generic quick logging function +function QuickLogger { + local value="${1}" + + if [ "$_SILENT" -eq 1 ]; then + _QuickLogger "$value" "log" + else + _QuickLogger "$value" "stdout" + fi +} + # Portable child (and grandchild) kill function tester under Linux, BSD and MacOS X function KillChilds { local pid="${1}" @@ -1596,7 +1621,7 @@ function _CreateDirectoryLocal { if [ ! -d "$dir_to_create" ]; then # No sudo, you should have all necessary rights - mkdir --parents "$dir_to_create" > $RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID 2>&1 + mkdir -p "$dir_to_create" > $RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID 2>&1 if [ $? != 0 ]; then Logger "Cannot create directory [$dir_to_create]" "CRITICAL" if [ -f $RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID ]; then @@ -1614,7 +1639,7 @@ function _CreateDirectoryRemote { CheckConnectivity3rdPartyHosts CheckConnectivityRemoteHost - cmd=$SSH_CMD' "if ! [ -d \"'$dir_to_create'\" ]; then '$COMMAND_SUDO' mkdir --parents \"'$dir_to_create'\"; fi" > '$RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID' 2>&1' + cmd=$SSH_CMD' "if ! [ -d \"'$dir_to_create'\" ]; then '$COMMAND_SUDO' mkdir -p \"'$dir_to_create'\"; fi" > '$RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID' 2>&1' Logger "cmd: $cmd" "DEBUG" eval "$cmd" & WaitForTaskCompletion $! 720 1800 ${FUNCNAME[0]}