]> arthur.barton.de Git - backup-script.git/blobdiff - bin/backup-script
Autodetect "localhost" and 127.0.0.1 as being "local"
[backup-script.git] / bin / backup-script
index 9d8576d1b34fd636e2509a71bd766a73ef3a5590..89abead0610b6c11cfd63c5effe25cf1d7a649d0 100755 (executable)
@@ -139,14 +139,15 @@ fi
 for f in $sys; do
        [ -r "$f" -a -f "$f" ] || continue
 
-       system=`basename $f`
-       case "$system" in
+       fname=`basename $f`
+       case "$fname" in
                "backup-script.conf"|*.sh)
                        continue
                        ;;
        esac
 
        # Set global defaults
+       system="$fname"
        user="$default_user"
        target="$default_target"
        ssh_args_add="$default_ssh_args_add"
@@ -159,9 +160,15 @@ for f in $sys; do
        # Read in system configuration file
        source "$f"
 
+       # Validate configuration
+       [ "$system" = "localhost" -o "$system" = "127.0.0.1" ] && local=1
+
+       [ "$system" = "$fname" ] \
+               && systxt="\"$system\"" \
+               || systxt="\"$fname\" [\"$system\"]"
        [ "$local" -eq 0 ] \
-               && echo "Working on \"$system\" ..." \
-               || echo "Working on \"$system\" (local system) ..."
+               && echo "Working on $systxt ..." \
+               || echo "Working on $sytxts (local system) ..."
 
        count_all=$count_all+1
 
@@ -212,12 +219,13 @@ for f in $sys; do
                && cmd="$cmd ${user}@${system}:/ $sys_target/" \
                || cmd="$cmd / $sys_target/"
 
-       echo "Calling: $cmd"
+       echo "Backing up to \"$sys_target\" ..."
        echo -n "Start date: "; date
+       echo "$cmd"
        count_started=$count_started+1
-       rm -f "$sys_target/.stamp"
        
        if [ "$DRYRUN" -eq 0 ]; then
+               rm -f "$sys_target/.stamp"
                $SHELL -c "$cmd"; ret=$?
                echo "code=$ret" >"$sys_target/.stamp"
        else
@@ -231,6 +239,7 @@ for f in $sys; do
                exit 1
        fi
 
+       echo -n "End date: "; date
        if [ $ret -eq 0 -o $ret -eq 24 ]; then
                [ $ret -eq 24 ] && count_ok_vanished=$count_ok_vanished+1
 
@@ -239,7 +248,6 @@ for f in $sys; do
        else
                echo "System \"$system\" completed with ERRORS, code $ret!"
        fi
-       echo -n "End date: "; date
 
        destinations="$destinations $target"
        echo
@@ -257,8 +265,10 @@ CleanUp
 
 echo -n "Done: "; date
 echo
-echo " - $count_all jobs defined,"
-echo " - $count_started jobs started,"
+[ $count_all -eq 1 ] && s="" || s="s"
+echo " - $count_all job$s defined,"
+[ $count_started -eq 1 ] && s="" || s="s"
+echo " - $count_started job$s started,"
 echo " - $count_ok done without errors."
 echo