]> git.decadent.org.uk Git - dak.git/blobdiff - config/homedir/syncdd.sh
Do not sync lock/stages/ to ries.
[dak.git] / config / homedir / syncdd.sh
index 43219716b4487f00f62187b66f19810d4384bf42..745130cffb7200490d648590a655d0539daac8e2 100755 (executable)
@@ -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"
 }
@@ -40,11 +77,12 @@ if lockfile -r3 ${HOME}/sync.lock; then
     rsync -aH -B8192 \
            --exclude backup/*.xz \
            --exclude backup/dump* \
-           --exclude ftp/ \
-           --exclude mirror/ \
+        ${EXTRA} \
+           --exclude mirror \
            --exclude morgue/ \
            --exclude=lost+found/ \
            --exclude .da-backup.trace \
+            --exclude lock/stages/ \
            --delete \
            --delete-after \
            --timeout 3600 \
@@ -52,7 +90,7 @@ if lockfile -r3 ${HOME}/sync.lock; then
            ftpmaster-sync:/srv/ftp-master.debian.org/ .
 
     cd $public/
-    rsync -avH -B8192 \
+    rsync -aH -B8192 \
            --exclude mirror \
            --exclude rsync/ \
            --exclude=lost+found/ \