#!/bin/bash -e

if [ $# -lt 3 ]; then
  echo 'Usage: sync local_dir rsync_host rsync_dir [password file]'
  exit 1
fi

umask 002

TO=/mirror/root/$1
RSYNC_HOST=$2
RSYNC_DIR=$3
RSYNC_PASSWORD_ARGS=
if [ $# -ge 4 ]; then
    RSYNC_PASSWORD_ARGS="--password-file $HOME/passwords/$4"
fi
ADDRESS=$(cat ~/config/ADDRESS)

if test -n "$RSYNC_USER"; then
  RSYNC_HOST=$RSYNC_USER@$RSYNC_HOST
fi

mkdir -p $TO

exec nice rsync -aH --no-owner --no-group --delete-after --delay-updates --safe-links \
     --timeout=3600 -4 --address=$ADDRESS \
     --exclude .~tmp~/ \
     --quiet --stats --log-file=/home/mirror/merlin/logs/transfer.log \
     $RSYNC_PASSWORD_ARGS \
     rsync://$RSYNC_HOST/$RSYNC_DIR $TO
     #$RSYNC_HOST::$RSYNC_DIR $TO
