]> arthur.barton.de Git - backup-script.git/blobdiff - bin/backup-status
Fix and mark several notices & warnings of shellcheck(1)
[backup-script.git] / bin / backup-status
index eb423db01d009707acaa246d8942577e7bffa496..a871c96c2ef18e3ff7b1c3516fad9cf153b8ebe6 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/bash
 #
 # backup-script system for cloning systems using rsync
-# Copyright (c)2008-2015 Alexander Barton, alex@barton.de
+# Copyright (c)2008-2016 Alexander Barton, alex@barton.de
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -10,7 +10,7 @@
 # Please read the file COPYING, README and AUTHORS for more information.
 #
 
-NAME=`basename $0`
+NAME=$(basename "$0")
 PIDFILE="/var/run/backup-script.pid"
 QUICK=0
 ONLY_ERRORS=0
@@ -36,6 +36,7 @@ for conf in \
        "/usr/local/etc/backup-script.conf" \
 ; do
        if [ -r "$conf" ]; then
+               # shellcheck source=/dev/null
                source "$conf"
                break
        fi
@@ -58,7 +59,8 @@ Check_Size() {
        # $2: padding
 
        if [ "$QUICK" = "0" ]; then
-               size=`du -Hhs "$1" | cut -f1`
+               size=$(du -Hhs "$1" | cut -f1)
+               # shellcheck disable=SC2086
                echo "$2  - Size:" $size
        fi
 }
@@ -76,6 +78,7 @@ Check_Stamp() {
                declare -i duration_t=-1
 
                # Read in "stamp file"
+               # shellcheck source=/dev/null
                source "$1"
 
                if [ $start_t -gt 0 ] && [ $end_t -gt 0 ]; then
@@ -89,25 +92,27 @@ Check_Stamp() {
                        duration_t=$end_t-$start_t
                else
                        if [ "$(uname)" = "Linux" ]; then
-                               end=`LC_ALL=C stat "$1" | grep "^Modify: " \
-                                | cut -d':' -f2- | cut -d. -f1`
+                               end=$(LC_ALL=C stat "$1" | grep "^Modify: " \
+                                | cut -d':' -f2- | cut -d. -f1)
                        else
-                               end=`LC_ALL=C stat -f "%Sc" "$1"`
+                               end=$(LC_ALL=C stat -f "%Sc" "$1")
                        fi
                fi
+               # shellcheck disable=SC2086
                [ -n "$start" ] && echo "$2  - Start date:" $start
+               # shellcheck disable=SC2086
                [ -n "$end" ] && echo "$2  - End date:" $end
                if [ $duration_t -gt -1 ]; then
                        declare -i s=$duration_t
                        if [ $s -ge 60 ]; then
-                               declare -i m=$(($s/60))
-                               declare -i s=$(($s%60))
+                               declare -i m=$((s / 60))
+                               declare -i s=$((s % 60))
                                if [ $m -ge 60 ]; then
-                                       declare -i h=$(($m/60))
-                                       declare -i m=$(($m%60))
+                                       declare -i h=$((m / 60))
+                                       declare -i m=$((m % 60))
                                        if [ $h -ge 24 ]; then
-                                               declare -i d=$(($h/24))
-                                               declare -i h=$(($h%24))
+                                               declare -i d=$((h / 24))
+                                               declare -i h=$((h % 24))
                                                duration="${d}d${h}h${m}m${s}s"
                                        else
                                                duration="${h}h${m}m${s}s"
@@ -126,7 +131,7 @@ Check_Stamp() {
                  24)   txt=", WARNING (some files vanished during backup)"; ;;
                  *)    txt=", ERROR"
                esac
-               [ $code -gt 0 ] && echo "$2  - Result code: ${code}${txt}"
+               [ $code -ge 0 ] && echo "$2  - Result code: ${code}${txt}"
        else
                echo "$2  - No timestamp recorded! Backup currently running or aborted?"
        fi
@@ -140,12 +145,13 @@ Snapshot_Info() {
 
 Get_Result_Code() {
        code=1
+       # shellcheck source=/dev/null
        [ -r "$1" ] && source "$1"
        [ -z "$code" ] && code=1
        echo $code
 }
 
-if [ "$1" == "-r" -o "$1" == "--running" ]; then
+if [[ "$1" == "-r" || "$1" == "--running" ]]; then
        pid="$(cat "$PIDFILE" 2>/dev/null)"
        if [ -n "$pid" ]; then
                if kill -0 "$pid" >/dev/null 2>&1; then
@@ -189,16 +195,16 @@ if [ $# -ge 1 ]; then
                        echo "$NAME: Can' read \"${conf_d}/$s\"!"
                        exit 1
                fi
-               sys="$sys ${conf_d}/$s"
+               sys+=("${conf_d}/$s")
        done
 else
-       sys="${conf_d}/"*
+       sys=("${conf_d}/"*)
 fi
 
-for f in $sys; do
-       [ -r "$f" -a -f "$f" ] || continue
+for f in "${sys[@]}"; do
+       [[ -r "$f" && -f "$f" ]] || continue
 
-       fname=`basename $f`
+       fname=$(basename "$f")
        case "$fname" in
                "backup-script.conf"|*.sh)
                        continue
@@ -211,6 +217,7 @@ for f in $sys; do
        generations="$default_generations"
 
        # Read in system configuration file
+       # shellcheck source=/dev/null
        source "$f"
 
        target="$target/$(basename "$f")"
@@ -221,7 +228,7 @@ for f in $sys; do
                [ $generations -gt 0 ] \
                        && result=$(Get_Result_Code "$target/latest/.stamp") \
                        || result=$(Get_Result_Code "$target/.stamp")
-               [ $result -eq 0 -o $result -eq 24 ] && continue
+               [[ $result -eq 0 || $result -eq 24 ]] && continue
        fi
 
        # System name