
#!/bin/bash
# File	: bck_from_remote.sh
# By	: MaartenDeBoer.nl, 2016-12-15
# Subject	: Script to backup (via rsync) from data at remote location
#(0.2)	: Add ETC
#set -x
PGM="`basename $0|cut -d\. -f1`"
VER="0.2"
LOG="${HOME}/log/${PGM}.log"
ETC="${HOME}/etc/${PGM}"

SOURCE="remote-host:/media/usb01"
DESTINATION="/mnt/usb01"
SSHPORT="22"

USAGE()
{
  echo "Usage: ${PGM} [options]"
  echo "Options : "
  echo "  -d    : Destination (${DESTINATION})"
  echo "  -e    : Etc-file (${ETC})"
  echo "  -h    : This help"
  echo "  -p    : sshPort (${SSHPORT})"
  echo "  -s    : Source (${DESTINATION})"
  echo "  -V    : Version"
}
while [ ${#} -gt 0 ]
do
  case "${1}" in
    '-e')  ETC=${2}; shift ;;
    '-p')  SSHPORT=${2}; shift ;;
    '-h')  USAGE; exit 1 ;;
    '-x')  set -x ;;
    '-V')  echo "Version=${VER}" ; exit 1 ;;
    *) echo "Option ${1} not found." ; USAGE; exit 1 ;;
  esac 
  shift
done
if [ -f ${ETC} ]; then
  echo "  Reading ${ETC}..."
  READETC="`grep ^DESTINATION= ${ETC}|cut -d\= -f2`"
  if [ "${READETC}" != "" ]; then
    DESTINATION=${READETC}
  fi
  READETC="`grep ^SOURCE= ${ETC}|cut -d\= -f2`"
  if [ "${READETC}" != "" ]; then
    SOURCE=${READETC}
  fi
  READETC="`grep ^SSHPORT= ${ETC}|cut -d\= -f2`"
  if [ "${READETC}" != "" ]; then
    SSHPORT=${READETC}
  fi
fi

echo "`date` ${PGM} v${VER} started."|tee -a ${LOG}
echo "SSHPORT=${SSHPORT}"
echo "SOURCE=${SOURCE}"
echo "DESTINATION=${DESTINATION}"
sleep 1

rsync -avz -e "ssh -p${SSHPORT}" ${SOURCE} ${DESTINATION}

echo "`date` ${PGM} v${VER} finished."|tee -a ${LOG}
exit 0

