X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=config%2Fhomedir%2Fsyncdd.sh;h=570e3469609d7d481a96e9876a990864bb26a586;hb=4677ae180510b43fe80f9aa2e4a9da43e453c619;hp=794f48b5aa8a7adef96fff79d06f181de34087e6;hpb=8077b6b700e6ba266752c76443e1932016f9972e;p=dak.git diff --git a/config/homedir/syncdd.sh b/config/homedir/syncdd.sh index 794f48b5..570e3469 100755 --- a/config/homedir/syncdd.sh +++ b/config/homedir/syncdd.sh @@ -26,6 +26,43 @@ export LC_ALL=C export SCRIPTVARS=/srv/ftp-master.debian.org/dak/config/debian/vars . $SCRIPTVARS +EXTRA="" + +check_commandline() { + while [ $# -gt 0 ]; do + case "$1" in + sync) + EXTRA="--exclude ftp/" + ;; + pool) + ;; + *) + echo "Unknown option ${1} ignored" + ;; + esac + shift # Check next set of parameters. + done +} + +if [ $# -gt 0 ]; then + ORIGINAL_COMMAND=$* +else + ORIGINAL_COMMAND="" +fi + +SSH_ORIGINAL_COMMAND=${SSH_ORIGINAL_COMMAND:-""} +if [ -n "${SSH_ORIGINAL_COMMAND}" ]; then + set "nothing" "${SSH_ORIGINAL_COMMAND}" + shift + check_commandline $* +fi + +if [ -n "${ORIGINAL_COMMAND}" ]; then + set ${ORIGINAL_COMMAND} + check_commandline $* +fi + + cleanup() { rm -f "${HOME}/sync.lock" } @@ -38,31 +75,38 @@ trap cleanup EXIT TERM HUP INT QUIT if lockfile -r3 ${HOME}/sync.lock; then cd $base/ rsync -aH -B8192 \ - --exclude backup/*.xz \ - --exclude backup/dump* \ - --exclude ftp/ \ - --exclude mirror/ \ - --exclude morgue/ \ - --exclude=lost+found/ \ - --exclude .da-backup.trace \ - --delete \ - --delete-after \ - --timeout 3600 \ - -e 'ssh -o ConnectTimeout=30 -o SetupTimeout=30' \ - ftpmaster-sync:/srv/ftp-master.debian.org/ . + --exclude backup/*.xz \ + --exclude backup/dump* \ + --exclude database/\*.db \ + ${EXTRA} \ + --exclude mirror \ + --exclude morgue/ \ + --exclude=lost+found/ \ + --exclude .da-backup.trace \ + --exclude lock/new/ \ + --exclude lock/stages/ \ + --exclude queue/holding/ \ + --exclude queue/newstage/ \ + --exclude queue/unchecked/ \ + --exclude tmp/ \ + --delete \ + --delete-after \ + --timeout 3600 \ + -e 'ssh -o ConnectTimeout=30 -o SetupTimeout=30' \ + ftpmaster-sync:/srv/ftp-master.debian.org/ . cd $public/ rsync -aH -B8192 \ - --exclude mirror \ - --exclude rsync/ \ - --exclude=lost+found/ \ - --exclude .da-backup.trace \ - --exclude web-users/ \ - --delete \ - --delete-after \ - --timeout 3600 \ - -e 'ssh -o ConnectTimeout=30 -o SetupTimeout=30' \ - ftpmaster-sync2:/srv/ftp.debian.org/ . + --exclude mirror \ + --exclude rsync/ \ + --exclude=lost+found/ \ + --exclude .da-backup.trace \ + --exclude web-users/ \ + --delete \ + --delete-after \ + --timeout 3600 \ + -e 'ssh -o ConnectTimeout=30 -o SetupTimeout=30' \ + ftpmaster-sync2:/srv/ftp.debian.org/ . else echo "Couldn't get the lock, not syncing"