X-Git-Url: https://www.hackdaworld.org/gitweb/?a=blobdiff_plain;f=bin%2Fbackup;h=e843da37fdd2ef425fab7b62c33e6367431bc90a;hb=4105b8683216a18182588e0ea657d50f80071bd9;hp=982668745360343c55a32074484454f0c6705fb6;hpb=dded1d875778985fd06ed58b5537e3604979835b;p=outofuni%2Fbackup.git diff --git a/bin/backup b/bin/backup index 9826687..e843da3 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 } @@ -96,6 +96,7 @@ mkdir -p $cbd rsync="rsync -azR --delete --bwlimit=$bandwidth" ob="" +lpb="" for pb in $backupdir/[0-9]*; do bdd=`basename $pb` if [ ! -f $backupdir/.$bdd ]; then @@ -103,37 +104,46 @@ for pb in $backupdir/[0-9]*; do rm -rf $cbd mv $pb $cbd log continuing $pb as $cbd ... - fi - - rsrc="" - for dir in $homedirs; do - rsrc="$rsrc :/home/$user/$dir" - done - rsrc="`echo $rsrc | sed 's/^\ //'`" - for dir in $extradirs; do - rsrc="$rsrc :$dir" - done - [ ! -z "$homedirs" ] && \ - log backing up home directories $homedirs ... - [ ! -z "$extradirs" ] && \ - log backing up directories $extradirs ... - $rsync $user@$remote$rsrc $cbd - ret=$? - if [ "$ret" != "0" ]; then - log backup terminated before completion ... - exit -50 - fi - - touch $backupdir/.`basename $cbd` - log "backup `basename $cbd` completed :)" - else - if [ "$pb" = "$cbd" ]; then - log backup $bdd found completed ... + else + if [ ! -z "$lpb" ]; then + rm -rf $cbd + mv $lpb $cbd + log "starting backup $today from $lpb ..." + else + log starting backup from scratch ... + fi fi fi + lpb=$pb ob="$ob $pb" done +if [ ! -f $backupdir/.$today ]; then + rsrc="" + for dir in $homedirs; do + rsrc="$rsrc :/home/$user/$dir" + done + rsrc="`echo $rsrc | sed 's/^\ //'`" + for dir in $extradirs; do + rsrc="$rsrc :$dir" + done + [ ! -z "$homedirs" ] && \ + log backing up home directories $homedirs ... + [ ! -z "$extradirs" ] && \ + log backing up directories $extradirs ... + $rsync $user@$remote$rsrc $cbd + ret=$? + if [ "$ret" != "0" ]; then + log backup terminated before completion ... + exit -50 + fi + + touch $backupdir/.$today + log "backup $today completed :)" +else + log backup $bdd found completed ... +fi + cob=`echo $ob | wc -w` if [ $cob -gt $replicas ]; then ((numdel=cob-replicas))