From: Alexander Barton Date: Thu, 1 Oct 2015 12:27:39 +0000 (+0200) Subject: Detect rsync and its protocol version X-Git-Url: https://arthur.barton.de/gitweb/?p=backup-script.git;a=commitdiff_plain;h=8781fba9243b3bfe8037ac613f2a8056906eaf61 Detect rsync and its protocol version --- diff --git a/bin/backup-script b/bin/backup-script index b38a8f3..670f699 100755 --- a/bin/backup-script +++ b/bin/backup-script @@ -298,12 +298,25 @@ while [ $# -gt 0 ]; do esac done -trap GotSignal SIGINT - echo -n "Started: "; date echo -e $config_info + +# Check rsync and its protocol version +rsync=$(which "rsync" 2>/dev/null) +if [ $? -ne 0 ]; then + echo "Failed to detect rsync(1)! Is it installed in your \$PATH?" + exit 1 +fi +rsync_proto=$($rsync --version 2>/dev/null | head -n 1 | sed 's/.* protocol version \([0-9]*\)$/\1/') +if [ $? -ne 0 ]; then + echo "Failed to detect protocol version of $rsync!" + exit 1 +fi +echo "Rsync command is $rsync, protocol version $rsync_proto." echo +trap GotSignal SIGINT + if [ $# -ge 1 ]; then for s in "$@"; do if [ ! -r "${conf_d}/$s" ]; then @@ -525,7 +538,7 @@ for f in $sys; do fi # prepare (remote) command ... - cmd="rsync --archive" + cmd="$rsync --archive" [ "$compress" -ne 0 ] && cmd="$cmd --compress" [ "$local" -eq 0 ] && cmd="$cmd --rsh=\"$ssh_cmd\"" cmd="$cmd --delete --delete-excluded --sparse"