#!/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
# 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
"/usr/local/etc/backup-script.conf" \
; do
if [ -r "$conf" ]; then
+ # shellcheck source=/dev/null
source "$conf"
break
fi
# $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
}
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
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"
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
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
generations="$default_generations"
# Read in system configuration file
+ # shellcheck source=/dev/null
source "$f"
target="$target/$(basename "$f")"
[ $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