diff --git a/backup-tar/backup.sh b/backup-tar/backup.sh
index 9e1260f85d7acd90a85d4b7537302c36d9085f01..42e1773ab3589cde5c3c9de799386ef75d38cd4d 100755
--- a/backup-tar/backup.sh
+++ b/backup-tar/backup.sh
@@ -56,7 +56,11 @@ for SRC in $SOURCES; do
     INCFILE=${SRC_ID}/${TIMESTAMP}.${TYPE}.snar
     INCFILE_TMP=${INCFILE}.tmp
 
-    [[ -f $INCFILE_TMP ]] && fail "ERROR: backup already in progress (incremental backup file exists)"
+    [[ -f $INCFILE_TMP ]] && fail "ERROR: backup $SRC already in progress (temporary incremental backup file exists)"
+    if [[ -f $INCFILE ]]; then
+        echo "WARNING: backup $SRC already done (incremental backup file exists)" >&2
+        continue
+    fi
 
     INC_FILTER="."
     if [[ "$TYPE" = "weekly" ]]; then
@@ -71,9 +75,16 @@ for SRC in $SOURCES; do
     fi
 
     ssh $TARGET "mkdir -p stamps/${SRC_ID} ${SRC_ID}"
-    echo "Backup $SRC ($TYPE)…"
-    tar --create --xattrs --acls --listed-incremental=$INCFILE_TMP $SRC | \
-        xz -T$COMPRESS_THRS -3 | ssh $TARGET "umask 0027; cat > $BACKUP_FILE"
+    [[ "$TYPE" != "daily" ]] && echo "Backup $SRC ($TYPE)…"
+    {
+        {
+            tar --create --xattrs --acls --listed-incremental=$INCFILE_TMP $SRC | \
+                    xz -T$COMPRESS_THRS -3 | \
+                    ssh $TARGET "umask 0027; cat > $BACKUP_FILE"
+        } 3>&1 1>&2 2>&3 | \
+                { grep -v "Removing leading \`/'" || true; } | \
+                { grep -v "socket ignored" || true; }
+    } 3>&1 1>&2 2>&3
     xz -T$COMPRESS_THRS --keep --stdout $INCFILE_TMP | ssh $TARGET "umask 0027; cat > $INCFILE_TGT"
     if echo $SRC | grep -q '^/home'; then
         USR=$(echo $SRC | sed 's|^/home/\([^/]*\).*$|\1|')