mirror/bin/csc-sync-standard

32 lines
733 B
Bash
Executable File

#!/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