]> git.treefish.org Git - backmeupscotty.git/commitdiff
Performing backup if nth day or latest backup too old.
authorAlexander Schmidt <alex@treefish.org>
Fri, 12 Sep 2014 12:42:04 +0000 (14:42 +0200)
committerAlexander Schmidt <alex@treefish.org>
Fri, 12 Sep 2014 12:43:45 +0000 (14:43 +0200)
backmeupscotty
backmeupscotty-example

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
index a028abecbc325a219670e6fcc1bd43cb78a2fb6f..d7a1d07cdf0e281ab882d1439e8e6e31d64cf219 100755 (executable)
@@ -3,11 +3,11 @@
 . ./backmeupscotty
 
 REMOTE_HOST=localhost
-REMOTE_DIR=/home/regina/backtest/dest
+REMOTE_DIR=/tmp/scotty/dest
 ARCHIVE_KEEPNBACKUPS=10
 ARCHIVE_KEEPNDAYS=0
 BACKUP_RUNEVERYNTHDAY=1
-SYNC_SRC="/home/regina/backtest/source"
+SYNC_SRC="/tmp/scotty/src"
 SYNC_EXC="/gack,/gugu/*"
 
 function prepare {