X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=bin%2Fbackup;h=945667cd6db9a97ea0e34efb381523ee56206f0b;hb=9405567ffe04ed5f4d5fef9b8666bd2360860751;hp=cf8c58463242a3173d45d802691adf2625d3b36a;hpb=5d9641c81a0cf872ae1e23b2be9b44f78b9aad90;p=outofuni%2Fbackup.git diff --git a/bin/backup b/bin/backup index cf8c584..945667c 100755 --- a/bin/backup +++ b/bin/backup @@ -1,7 +1,7 @@ #!/bin/bash function log { - conf=`basename $config | sed 's/\.config$//'` + conf=`basename $config | sed 's/\.conf$//'` [ "$dolog" = "1" ] && echo "`date` - $@" >> $logdir/${conf}.log } @@ -107,10 +107,8 @@ for pb in $backupdir/[0-9]*; do else if [ ! -z "$lpb" ]; then rm -rf $cbd - mv $lpb $cbd + cp -r $lpb $cbd log "starting backup $today from $lpb ..." - else - log starting backup from scratch ... fi fi fi @@ -144,16 +142,27 @@ else log backup $bdd found completed ... fi +[ -z "$replicas" ] && replicas=3 +[ -z "$oldest" ] && oldest=0 + cob=`echo $ob | wc -w` if [ $cob -gt $replicas ]; then ((numdel=cob-replicas)) todel="`echo $ob | cut -d ' ' -f 1-${numdel}`" - log to delete: $todel - #for dirdel in $todel; do - # bdd=`basename $dirdel` - # rm -r $dirdel - # rm $backupdir/$bdd - #done + for dirdel in $todel; do + past=`basename $dirdel` + ns=`date --date="$today" +%s` + ps=`date --date="$past" +%s` + ((delta=(ns-ps)/86400)) + if [ $delta -gt $oldest ]; then + log "deleting $dirdel ($delta days old) ..." + bdd=`basename $dirdel` + rm -r $dirdel + rm $backupdir/.$bdd + else + log "keeping $dirdel ($delta days old) ..." + fi + done fi exit 0