fi
 }
 
-function isIncompleteOrNthDay {
-    if isIncomplete || \
-       [ $(( ( $(date +%s) / (60*60*24) ) % $BACKUP_RUNEVERYNTHDAY )) -eq 0 ]; 
+function isNthDay {
+    if [ $(( ( $(date +%s) / (60*60*24) ) % $BACKUP_RUNEVERYNTHDAY )) -eq 0 ]; 
     then
        return 0
     else
     fi 
 }
 
+function latestTooOld {
+    for oldbackup in $(grepbackups); do
+       tstamp=$(echo $oldbackup | cut -d'-' -f1)
+       
+       if [ $(( $(date +%s) - $tstamp )) -lt \
+           $(( $BACKUP_RUNEVERYNTHDAY*24*60*60 )) ]
+       then
+           return 1
+       fi
+    done
+
+    return 0
+}
+
 function scottysync {
     timestamp=$(date +%s)
 
     exit
 }
 
+function cleanup {
+    scottyinfo "No cleanup function was defined."
+}
+
 function prepare {
     scottyinfo "No prepare function was defined."
 }
                 ;;
        esac
     done
-    
-    if ! isIncompleteOrNthDay; then
-       scottyinfo "This is not the nth day and no incomplete backup exists."
+
+    if (! ssh $REMOTE_HOST exit); then
+       scottyerror "Could not establish SSH connection to $REMOTE_HOST!"
+       exit 1
+    fi
+
+    if isNthDay; then
+       scottyinfo "This is the nth day."
+    elif latestTooOld; then
+       scottyinfo "The latest backup is too old."
+    else
+       scottyinfo "No backup has to be done. Exiting."
        exit 0
     fi
 
+    scottyinfo "Performing backup."
+
     trap cleanup_abort EXIT
 
     prepare