ARCHIVE_KEEPNBACKUPS=30
 ARCHIVE_KEEPNDAYS=30
 
+if [ $(pidof -x $(basename $0) | wc -w) -gt 2 ]; then 
+    echo BACKMEUPSCOTTY: Another instance of $(basename $0) is already running! >&2
+    exit 1
+fi
+
 while getopts ":q" opt; do
     case $opt in
        q)
        rsync_exclude=$(eval echo --exclude={$3} | tr -d {})
     fi
 
+    if (ssh $REMOTE_HOST '[ ! -d '$REMOTE_BASE/$2' ]'); then
+       echo BACKMEUPSCOTTY: Creating destination directory $REMOTE_HOST:$REMOTE_BASE/$2
+       ssh $REMOTE_HOST "mkdir $REMOTE_BASE/$2"
+    fi
+
+    if (ssh $REMOTE_HOST '[ -d '$REMOTE_BASE/$2/incomplete' ]'); then
+       echo BACKMEUPSCOTTY: Continuing old incomplete backup >&2
+    fi
+
     echo BACKMEUPSCOTTY: Starting rsync
     rsync -e ssh \
        -v -aHAX --numeric-ids --delete --delete-excluded \