]> git.treefish.org Git - backmeupscotty.git/blobdiff - backmeupscotty
Performing backup if nth day or latest backup too old.
[backmeupscotty.git] / backmeupscotty
index 3f68b1f9a91cc95d318443017f47b0faa15c7502..35ec75498b6dc5c70960c13ef144726f3324df0a 100644 (file)
@@ -30,9 +30,8 @@ function isIncomplete {
     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
@@ -40,6 +39,20 @@ function isIncompleteOrNthDay {
     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)
 
@@ -164,12 +177,18 @@ function backmeupscotty {
                 ;;
        esac
     done
-    
-    if ! isIncompleteOrNthDay; then
-       scottyinfo "This is not the nth day and no incomplete backup exists."
+
+    if isNthDay; then
+       scottyinfo "This is the nth day."
+    elif latestTooOld; then
+       scottyerror "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